Cod sursa(job #1790596)
| Utilizator | Data | 28 octombrie 2016 14:58:35 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.43 kb |
#include <fstream>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int n,i,v[3000001],fr,elm;
int main()
{
fin>>n;
for(i=1;i<=n;i++)
fin>>v[i];
fr=1;elm=v[1];
for(i=2;i<=n;i++)
if(v[i]==elm) fr++;
else{
fr--;
if(fr<0)
fr=1,elm=v[i];
}
fr=0;
for(i=1;i<=n;i++)
if(v[i]==elm)
fr++;
if(fr>=n/2+1)
fout<<elm<<' '<<fr;
else fout<<"-1";
return 0;
}
