Cod sursa(job #1418650)
| Utilizator | Data | 13 aprilie 2015 16:38:44 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.47 kb |
#include <stdio.h>
int n, a[1000001], nr, el;
int main(){
FILE *f=fopen("elmaj.in","r");
FILE *g=fopen("elmaj.out","w");
fscanf(f,"%d",&n);
for(int i=1;i<=n;i++){
fscanf(f,"%d",&a[i]);
}
el=a[1];
nr=1;
for(int i=2;i<=n;i++){
if(a[i]==el){nr++;}
else{if(!nr){el=a[i]; nr=1;}
else nr--;
}
} nr=0;
for(int i=1;i<=n;i++){
if(a[i]==el) nr++;
}
if(nr>n/2)
fprintf(g,"%d %d",el,nr);
else
fprintf(g,"%d",-1);
return 0;
}
