Pagini recente » Cod sursa (job #1866934) | Cod sursa (job #381211) | Monitorul de evaluare | tema | Cod sursa (job #2321158)
#include <iostream>
#include <fstream>
using namespace std;
int v[3000001];
ifstream f("majoritar.in");
ofstream g("majoritar.out");
/**
Complexitate O(n)(liniara)
*/
int main()
{
int N;
int nr = 0, cand = -1;
f >> N;
for(int i = 1; i <= N; i++)
{
f >> v[i];
if(nr == 0)
{
cand = v[i];
nr = 1;
}
else
if(cand == v[i])
nr++;
else
nr--;
}
//
if(nr > 0)
{
nr = 0;
for(int i = 1; i <= N; i++)
if(v[i] == cand)
nr++;
}
if(nr > N / 2)
g << cand << ' ' << nr;
else
g << -1;
return 0;
}