Cod sursa(job #825144)
Utilizator | Data | 27 noiembrie 2012 17:02:35 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.68 kb |
#include <fstream>
using namespace std;
int v[1000001];
int main()
{
ifstream in("elmaj.in");
ofstream out("elmaj.out");
int n,i;
in >> n;
int ap = 0;
int el = -1;
for(i=0;i<n;++i)
{
in >> v[i];
if(v[i] == el)
++ap;
else
if(!ap)
el = v[i],ap=1;
else
--ap;
}
if(ap)
{
ap=0;
for(i=0;i<n;++i)
if(v[i] == el)
++ap;
if(ap > (n>> 1))
out << el << " " << ap << "\n";
else
out << "-1\n";
}
else
out << "-1\n";
return 0;
}