Cod sursa(job #674445)
Utilizator | zloteanu adrian nichita zloteanu.adrian | Data | 6 februarie 2012 11:23:30 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 60 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.64 kb |
#include<fstream>
#include<algorithm>
using namespace std;
int cate,n,v[1000000];
int main()
{
ifstream q("elmaj.in");
ofstream w("elmaj.out");
q>>n;
for(int i=1; i<=n; i++)
{
q>>v[i];
}
int posM=v[1],apM=1;
for(int i=2;i<=n;i++)
{
if(v[i]==posM) {
apM++;
}
else {
apM--;
if(apM==-1) posM=v[i];
apM=1;
}
}
apM=0;
for(int i=1;i<=n;i++) {
if(posM==v[i])
apM++;
}
if(apM>=n/2+1) {
w<<posM<<" "<<apM;
return 0;
}
w<<-1;
return 0;
}