Cod sursa(job #2302868)
| Utilizator | Data | 15 decembrie 2018 11:09:13 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 10 |
| Compilator | cpp-64 | Status | done |
| Runda | Teme Pregatire ACM Unibuc 2013 | Marime | 0.58 kb |
#include<fstream>
using namespace std;
int v[1000000];
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int main()
{
int i, n, m, ap = 1, mm = 0;
fin >> n;
for( i = 1; i <= n; ++i )
{
fin >> m;
v[ i ] = m;
if( mm != m )
--ap;
else
++ap;
if( ap == 0 )
mm = m;
}
ap = 0;
for( i = 1; i <= n; ++i )
if( v[ i ] == mm )
++ap;
if( ap >= n / 2 + 1 )
fout << mm << " " << ap;
else
fout << -1;
return 0;
}
