Cod sursa(job #680828)
Utilizator | onisim necula misino | Data | 15 februarie 2012 23:08:53 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include<cstdio>
using namespace std;
FILE *f,*g;
long n,i,x,k,nr,a[1000000];
int main()
{f=fopen("elmaj.in","r");
g=fopen("elmaj.out","w");
fscanf(f,"%ld",&n);
k=0;
x=-1;
for(i=1;i<=n;i++)
{fscanf(f,"%ld",&a[i]);
if(k==0)
{x=a[i];
k=1;
}
else
if(a[i]==x)
k++;
else
k--;
}
if(x<0)
fprintf(g,"-1");
else
{nr=0;
for(i=1;i<=n;i++)
if(a[i]==x)
nr++;
if(nr>=n/2+1)
fprintf(g,"%d %d\n",x,nr);
else
fprintf(g,"-1");
}
fclose(f);
fclose(g);
return 0;
}