Cod sursa(job #2093540)
Utilizator | ma cheama alex koda | Data | 23 decembrie 2017 22:46:46 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.55 kb |
#include <fstream>
#include <iostream>
using namespace std;
int v[1000001];
int main () {
ifstream fin ("elmaj.in");
ofstream fout ("elmaj.out");
int m, i, j, n, c;
fin>>n;
m = -1;
j = 0;
for ( i = 0; i < n; i++ ) {
fin>>v[i];
if ( j == 0 ) {
m = v[i];
j++;
} else {
if ( v[i] == m )
j++;
else
j--;
}
}
c = 0;
for ( i = 0; i < n; i++ ) {
if ( v[i] == m )
c++;
}
if ( c > n / 2 )
fout<<m<<" "<<c;
else
fout<<"-1";
return 0;
}