Pagini recente » Cod sursa (job #255260) | Cod sursa (job #802951) | Cod sursa (job #853138) | Cod sursa (job #995569) | Cod sursa (job #2869507)
#include <fstream>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int v[1000005];
int n,cand=-1,k=0,i,nr=0;
void mooreMajority()
{
for(i=0; i<n; i++)
{
if(k==0)
{
cand=v[i];
k=1;
}
else if(v[i]==cand)
{
k++;
}
else
k--;
}
if(cand<0)
fout<<-1;
else
{
for(i=0; i<n; i++)
{
if(v[i]==cand)
nr++;
}
if(nr>n/2)
fout<<cand<<" "<<nr;
else
fout<<-1;
}
}
int main()
{
fin>>n;
for(i=0; i<n; i++)
{
fin>>v[i];
}
mooreMajority();
return 0;
}