Cod sursa(job #1960287)
| Utilizator | Data | 10 aprilie 2017 12:36:45 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include <stdio.h>
using namespace std;
FILE*f=fopen("elmaj.in","r");
FILE*g=fopen("elmaj.out","w");
int v[1000004];
int main()
{
int n,l=0,x=0,i;
fscanf(f,"%d",&n);
for (i=1;i<=n;i++){
fscanf(f,"%d",&v[i]);
if (l==0) {
l++;
x=v[i];
}
else{
if (v[i]==x) l++;
else l--;
}
}
l=0;
for (i=1;i<=n;i++) if (v[i]==x) l++;
if (l>=n/2+1) fprintf(g,"%d %d",x,l);
else fprintf(g,"-1");
fclose(f);
fclose(g);
return 0;
}
