Pagini recente » Cod sursa (job #2583832) | Cod sursa (job #38860) | Cod sursa (job #381249) | Cod sursa (job #1540696) | Cod sursa (job #2327162)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
const int NMAX= 1000001;
int a[NMAX];
int major(int N)
{
int k=0,cand=-1;
for(int i=1; i<=N; i++)
if(k==0)
{
cand=a[i];
k=1;
}
else if(a[i]==cand)
{
k++;
}
else
k--;
if(cand==-1)
return -1;
int nr=0;
for(int i=1; i<=N; i++)
if(a[i]==cand)
nr++;
if(nr>N/2)
{
g<<cand<<' ';
return nr;
}
else
return -1;
}
int main()
{
int N;
f>>N;
for(int i=1; i<=N; i++)
f>>a[i];
g<<major(N)<<' ';
}