Cod sursa(job #911808)
Utilizator | Dumitru Robert drobert | Data | 11 martie 2013 21:15:10 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f( "elmaj.in" );
ofstream g( "elmaj.out" );
int N,V[1000001],Ap,i,Elm,Cup;
int main () {
f>>N;
Cup=0;
Elm=-1;
for ( i=1;i<=N;i++ ) {
f>>V[i];
if ( Cup==0 ) {
Cup=1;
Elm=V[i];
}
else if ( Elm==V[i] ) Cup++;
else Cup--;
}
for ( i=1;i<=N;i++ ) if ( V[i]==Elm ) Ap++;
if ( Ap>N/2 ) g<<Elm<<" "<<Ap<<'\n';
else g<<"-1"<<'\n';
}