Cod sursa(job #1746980)
| Utilizator | Data | 24 august 2016 12:15:09 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 kb |
#include <fstream>
using namespace std;
int a[1000005],n;
int main()
{
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
fin>>n;
for(int i=1;i<=n;i++)
fin>>a[i];
int cand=0,k=0;
for(int i=1;i<=n;i++) {
if(k==0) {
cand=a[i];
k=1;
}
else if(a[i]==cand)
k++;
else
k--;
}
k=0;
for(int i=1;i<=n;i++)
if(a[i]==cand)
k++;
if(k>=n/2+1)
fout<<cand<<" "<<k<<'\n';
else
fout<<"-1";
return 0;
}
