Cod sursa(job #2244589)
| Utilizator | Data | 23 septembrie 2018 10:25:33 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.64 kb |
#include <cstdio>
using namespace std;
const int N = 1000010;
int n,i,maj,cnt,v[N];
int main()
{
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&v[i]);
if(cnt)
{
if(v[i]==maj)
cnt++;
else
cnt--;
}
else
{
maj=v[i];
cnt=1;
}
}
cnt=0;
for(i=1;i<=n;i++)
if(v[i]==maj)
cnt++;
if(cnt>n-cnt)
printf("%d %d",maj,cnt);
else
printf("-1");
return 0;
}
