Cod sursa(job #1519587)
Utilizator | Data | 7 noiembrie 2015 15:59:42 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.76 kb |
#include<stdio.h>
FILE *fin,*fout;
int n,val,c;
int a[1000001];
int main()
{
fin=fopen("elmaj.in","r");
fout=fopen("elmaj.out","w");
fscanf(fin,"%d",&n);
fscanf(fin,"%d",&a[1]);
val=a[1];
c=1;
for(int i=2;i<=n;i++)
{
fscanf(fin,"%d",&a[i]);
if(val==a[i])
{
c++;
}
else
{
c--;
if(c==0)
{
c=1;
val=a[i];
}
}
}
c=0;
for(int i=1;i<=n;i++)
{
if(a[i]==val)
{
c++;
}
}
if(c>=n/2+1)
{
fprintf(fout,"%d %d",val,c);
}
else
{
fprintf(fout,"-1");
}
}