Cod sursa(job #2086648)
Utilizator | Data | 12 decembrie 2017 12:13:28 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.55 kb |
#include <fstream>
#define MaxN 1000000
using namespace std;
int N, a[MaxN];
int main()
{
ifstream f("elmaj.in");
ofstream g("elmaj.out");
f>>N;
int d = 0, m = -1;
for (int i=0;i<N;i++)
{
f>>a[i];
if (d==0)
{
m = a[i];
d++;
}
else if (a[i]!=m)
d--;
else
d++;
}
d = 0;
for (int i=0;i<N;i++)
if (a[i]==m)
d++;
if (2*d>N)
g<<m<<' '<<d;
else
g<<-1;
}