Cod sursa(job #1026752)
Utilizator | Alexandru Petrescu alexpetrescu | Data | 11 noiembrie 2013 22:23:51 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.64 kb |
#include <stdio.h>
int v[1000000];
int main(){
int i,e,s,n;
FILE *fin,*fout;
fin=fopen("elmaj.in","r");
fout=fopen("elmaj.out","w");
fscanf(fin,"%d%d",&n,&v[0]);
s=1;
e=v[0];
for(i=1;i<n;i++){
fscanf(fin,"%d",&v[i]);
if(v[i]==e){
s++;
}else {
s--;
if(s==-1){
e=v[i];
s=1;
}
}
}
s=0;
for(i=0;i<n;i++){
if(v[i]==e){
s++;
}
}
if(s>n/2){
fprintf(fout,"%d %d",e,s);
}else {
fprintf(fout,"-1");
}
return 0;
}