Cod sursa(job #2312351)
| Utilizator | Data | 4 ianuarie 2019 18:51:19 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 0 |
| Compilator | cpp-32 | Status | done |
| Runda | Teme Pregatire ACM Unibuc 2013 | Marime | 0.56 kb |
#include <bits/stdc++.h>
#define N 25000
#define M 25000
using namespace std;
ifstream fin ("elmaj.in");
ofstream fout("elmaj.out");
int a[N],n;
int main()
{
int cand,vot;
int i,ct,j;
cin>>n;
for (i=1; i<=n; ++i)
cin>>a[i];
cand=a[1];vot=1;
for(i=2;i<=n;i++)
if(a[i]==cand) vot++;
else if(vot>0) vot--;
else {cand=a[i];vot=1;}
vot=0;
for (i=1;i<=n;++i)
if (a[i]==cand) vot++;
if (vot>n/2) cout <<cand<<" "<<vot;
else cout<<-1;
return 0;
}
