Cod sursa(job #1538171)

Utilizator SilviuIIon Silviu SilviuI Data 28 noiembrie 2015 16:47:32
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <stdio.h>
#define nmax 1000010
using namespace std;
int n,i,t[nmax],nr,x;
int main() {
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n;i++) scanf("%d",&t[i]);
x=t[1]; nr=1;
for (i=2;i<=n;i++) {
    if (x!=t[i]) {
        nr--;
        if (nr==0) nr=1,x=t[i];
    } else nr++;
}
nr=0;
for (i=1;i<=n;i++)
    if (t[i]==x) nr++;
if (nr>=n/2+1) printf("%d %d",x,nr); else
   printf("-1");
return 0;
}