Cod sursa(job #1391289)
Utilizator | Gaman Eduard-Marian gamanedy | Data | 17 martie 2015 19:46:01 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.6 kb |
#include <fstream>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int v[10000005],cand,k,n,i;
int main()
{
fin>>n;
fin>>v[1];
cand=v[1];
k=1;
for(i=2;i<=n;i++)
{
fin>>v[i];
if(cand==v[i])
{
k++;
}
else k--;
if(k==0)
{
cand=v[i];
k=1;
}
}
for(i=1;i<=n;i++)
{
if(cand==v[i])k++;
}
if(k-->=n/2+1)
{
fout<<cand<<" "<<k--;
}
else fout<<"-1";
fout.close();
return 0;
}