Cod sursa(job #1499359)
| Utilizator | Data | 10 octombrie 2015 15:32:39 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 60 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.45 kb |
#include <iostream>
#include <fstream>
#define nmax 100001
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int main()
{long n,el,nr,i,v[nmax];
nr=el=0;
fin>>n;
for(i=0;i<n;i++)
{fin>>v[i];
if(nr==0){el=v[i];nr=1;}
else if(v[i]!=el)nr--;
else nr++;
}
nr=0;
for(i=0;i<n;i++)
if(v[i]==el)nr++;
if(nr >= n/2 + 1)fout<<el<<' '<<nr;
else fout<<-1;
}
