Cod sursa(job #2397405)
| Utilizator | Data | 4 aprilie 2019 13:09:37 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include <stdio.h>
int v[1000005];
int main(){
FILE* si=fopen("elmaj.in","r");
FILE* so=fopen("elmaj.out","w");
int n,a,i,maj,fmj=0;
fscanf(si,"%d%d",&n,&maj);
v[0]=maj;
a=1;
for(i=1;i<n;i++){
fscanf(si,"%d",&v[i]);
if(maj==v[i]){
a++;
}
else{
if(a){
a--;
}
else{
maj=v[i];
a=1;
}
}
}
for(i=0;i<n;i++){
if(v[i]==maj) fmj++;
}
if(fmj>n/2) fprintf(so,"%d %d",maj,fmj);
else fprintf(so,"-1");
fclose(si);
fclose(so);
return 0;
}
