Cod sursa(job #1968675)
| Utilizator | Data | 17 aprilie 2017 19:57:42 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include <bits/stdc++.h>
using namespace std;
int n,v[1000001],maj,k,i;
int main()
{
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
scanf("%d",&n);
scanf("%d",&v[1]);
maj=v[1];
k=1;
for(i=2;i<=n;++i)
{
scanf("%d",&v[i]);
if(v[i]==maj) ++k;
else --k;
if(k<0) {maj=v[i];k=1;}
}
k=0;
for(i=1;i<=n;++i) if(v[i]==maj) ++k;
if(k>n/2) printf("%d %d",maj,k);
else printf("-1");
return 0;
}
