Cod sursa(job #1013663)
Utilizator | Vlad Rochian vladrochian | Data | 21 octombrie 2013 15:29:45 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include <fstream>
using namespace std;
int n,i,v[1000000],cand,ap;
int main()
{
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
fin>>n;
for (i=0;i<n;i++)
{
fin>>v[i];
if (!ap)
{
cand=v[i];
ap=1;
}
else
{
if (v[i]==cand)
ap++;
else
ap--;
}
}
ap=0;
for (i=0;i<n;i++)
if (v[i]==cand)
ap++;
if (ap>n/2)
fout<<cand<<" "<<ap<<"\n";
else
fout<<"-1\n";
return 0;
}