Pagini recente » Cod sursa (job #46484) | Cod sursa (job #1942336) | Cod sursa (job #2834896) | Cod sursa (job #1609926) | Cod sursa (job #1184485)
#include <fstream>
using namespace std;
ifstream in("elmaj.in");
ofstream out("elmaj.out");
int a[1000000];
int elmaj(int a[], int n)
{
int i,cand,cont,k;
cand=-1;
k=0;
for(i=1;i<=n;i++)
{
if(k==0)
{
k=1;
cand=a[i];
}
else
if(a[i]==cand) k++;
else k--;
if(cand<0)
{
out<<-1<<'\n';
return cand;}
}
cont=0;
for(i=1;i<=n&&cand;i++)
{
if(cand==a[i])
cont++;
}
if(cont>=n/2+1)
{out<<cand<<" "<<cont<<'\n';
return cand;}
else {out<<-1<<'\n';
return -1;}
}
int main()
{int n;
in>>n;
for(int i=1;i<=n;i++)
in>>a[i];
elmaj(a,n);
return 0;
}