Cod sursa(job #1418264)
Utilizator | Popovici Robert PopoviciRobert | Data | 12 aprilie 2015 15:36:01 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.71 kb |
#include <stdio.h>
#include <stdlib.h>
#define MAXN 1000000
int v[MAXN];
int main(){
FILE*fi,*fout;
int nr,con,i,n;
fi=fopen("elmaj.in" ,"r");
fout=fopen("elmaj.out" ,"w");
fscanf(fi,"%d" ,&n);
for(i=0;i<n;i++)
fscanf(fi,"%d" ,&v[i]);
nr=v[0];
con=1;
for(i=1;i<n;i++)
if(nr==v[i])
con++;
else{
con--;
if(con==0){
nr=v[i];
con=1;
}
}
con=0;
for(i=0;i<n;i++)
if(v[i]==nr)
con++;
if(con<n/2+1)
fprintf(fout,"-1");
else
fprintf(fout,"%d %d" ,nr,con);
fclose(fi);
fclose(fout);
return 0;
}