Cod sursa(job #1371139)
Utilizator | Andrei Stoica delta_wolf | Data | 3 martie 2015 19:23:07 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.64 kb |
#include <cstdio>
using namespace std;
long long i,j,n,k,cnt,a[1000010];
int main()
{
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
scanf("%lld",&n);
scanf("%lld",&a[1]);
cnt=1;
k=a[1];
for(i=2;i<=n;i++)
{
scanf("%lld",&a[i]);
if(cnt==0)
{
k=a[i];
cnt=1;
}
else if(a[i]==k)
cnt++;
else if(a[i]!=k)
cnt--;
}
cnt=0;
for(i=1;i<=n;i++)
{
if(a[i]==k)
cnt++;
}
if(cnt>=n/2+1)
printf("%lld %lld",k,cnt);
else printf("-1");
return 0;
}