Cod sursa(job #2161925)
Utilizator | Data | 11 martie 2018 22:03:24 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.58 kb |
#include <fstream>
#define N 1000000
using namespace std;
ifstream fin ("elmaj.in");
ofstream fout ("elmaj.out");
int n, i, t, k, v[N];
int main()
{
ios::sync_with_stdio(false);
fin >> n;
for ( i = 0; i < n; ++i )
{
fin >> v[i];
if ( v[i] == t )
++k;
else if ( k > 0 )
--k;
else
t = v[i], k = 1;
}
for ( i = k = 0; i < n; ++i )
if ( v[i] == t )
++k;
if ( k > n / 2 )
fout << t << " " << k;
else
fout << -1;
}