Cod sursa(job #3188684)
Utilizator | Craiu Andrei David CraiuAndrei | Data | 3 ianuarie 2024 17:51:37 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.59 kb |
#include <iostream>
#include<fstream>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int n, em, nrem;
int a[1000005];
int main()
{
int i, x;
fin >> n;
for (i = 1; i <= n; i++)
fin >> a[i];
for (i = 1; i <= n; i++)
{
if(nrem==0)
{
em = a[i];
nrem = 1;
}
else if (em == a[i])nrem++;
else nrem--;
}
nrem = 0;
for (i = 1; i <= n; i++)
if (a[i] == em)nrem++;
if (nrem < n / 2 + 1)fout << -1;
else fout << em << " " << nrem;
}