Cod sursa(job #1815843)
Utilizator | Data | 25 noiembrie 2016 20:26:28 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.62 kb |
#include <fstream>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int n,v[1000002],i,nr,nr1,el;
int main()
{
fin >> n;
fin >> v[1];
nr=1;
el=v[1];
for (i=2;i<=n;i++)
{
fin >> v[i];
if (v[i]==el)
nr++;
else
{
if (nr==1)
el=v[i];
else
nr--;
}
}
nr1=0;
for (i=1;i<=n;i++)
{
if (v[i]==el)
nr1++;
}
if (nr1>=n/2+1)
fout << el << " " << nr1;
else
fout << -1;
return 0;
}