Cod sursa(job #650759)
Utilizator | Data | 18 decembrie 2011 21:41:10 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.51 kb |
#include<stdio.h>
int n,a[1000001];
void citire(){
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
}
void el_maj(){
int elmaj,count=0;
for(int i=1;i<=n;i++){
if(!count)
elmaj=a[i],count=1;
else
count+=(a[i]==elmaj)?1:-1;
}
count=0;
for(int i=1;i<=n;i++)
if(a[i]==elmaj)
++count;
(count>=(n/2+1))?printf("%d %d",elmaj,count) : printf("-1");
}
int main(){
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
citire();
el_maj();
return 0;
}