Cod sursa(job #1383630)
| Utilizator | Data | 10 martie 2015 15:02:50 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.62 kb |
#include <fstream>
#define MX 1000001
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int n,a[MX];
int main()
{
int i;
int act,k,nr;
k = nr = 0;
fin>>n;
for(i=1; i<=n; i++)
{
fin>>a[i];
if(k == 0)
{
act = a[i];
k = 1;
}
else
{
if(a[i] == act) k++;
else k--;
}
}
for(i=1; i<=n; i++)
{
if(a[i] == act) nr++;
}
if(nr > n/2) fout<<act<<' '<<nr;
else fout<<-1;
fin.close(); fout.close();
return 0;
}
