Cod sursa(job #1650212)
| Utilizator | Data | 11 martie 2016 17:13:51 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Teme Pregatire ACM Unibuc 2013 | Marime | 0.56 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream t1("elmaj.in");
ofstream t2("elmaj.out");
int n,k;
int v[1000006];
int main()
{
int i,k=0,elem,nr=0;;
t1>>n;
for(i=1;i<=n;i++)
{
t1>>v[i];
if(!k)
{
k=1;
elem=v[i];
}
else
if(elem==v[i]) k++;
else k--;
}
for(i=1;i<=n;i++) if(v[i]==elem) nr++;
if(nr>= n/2+1) t2<<elem<<' '<<nr<<'\n';
else t2<<-1<<'\n';
t1.close();
t2.close();
return 0;
}
