Cod sursa(job #681328)
| Utilizator | Data | 16 februarie 2012 21:56:58 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
using namespace std;
#include<cstdio>
#define Max 1000005
int v[Max];
int main()
{
int n,i,cand,k,c;
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
cand=-1; k=0;
for(i=1;i<=n;i++)
if(!k)
{
cand=v[i];
k=1;
}
else
if(cand==v[i])
k++;
else
k--;
c=0;
if(k)
for(i=1;i<=n;i++)
if(v[i]==cand) c++;
if(c)
printf("%d %d",cand,c);
else
printf("-1");
return 0;
}
