Cod sursa(job #1515285)
| Utilizator | Data | 1 noiembrie 2015 13:28:14 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include <cstdio>
using namespace std;
int v[1000010];
int main()
{
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
int a,b=1,n,r=0;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&v[i]);
if(v[i]==a) b++;
else {b--;if(b==0) {a=v[i];b=1;}}
}
for(int i=1;i<=n;i++)
if(v[i]==a) r++;
if(r>=n/2+1) printf("%d %d",a,r);
else printf("-1");
return 0;
}
