Cod sursa(job #1978727)
| Utilizator | Data | 8 mai 2017 18:01:34 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.71 kb |
#include <iostream>
#include <fstream>
#define NMAX 1000005
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int n,cnt,key;
int a[NMAX];
int main()
{
fin>>n;
fin>>a[1];
cnt=1;
key=a[1];
for(int i=2;i<=n;i++)
{
fin>>a[i];
if(a[i]==key)
cnt++;
else{
cnt--;
if(cnt==0)
{
key=a[i];
cnt=1;
}
}
}
cnt=0;
for(int i=1;i<=n;i++)
if(a[i]==key)
cnt++;
if(cnt>=n/2+1)
fout<<key<<" "<<cnt<<"\n";
else fout<<-1<<"\n";
return 0;
}
