Pagini recente » Cod sursa (job #1887041) | Cod sursa (job #1646172) | Cod sursa (job #473636) | Cod sursa (job #934112) | Cod sursa (job #1027021)
#include<fstream>
using namespace std;
int v[1000001],w[1000001];
int main()
{
int max1=-1,max2=-1,i,n,val1,val2,aux,m;
ifstream fcin("elmaj.in");
ofstream fcout("elmaj.out");
fcin>>n;
m=n;
fcin>>v[1];
max1=0;val1=v[1],w[1]=1;i=2;
while(i<=n)
{
fcin>>v[i];aux=0;
while(v[i]==v[i-1]&&i<=n)
{
aux++;
n--;
fcin>>v[i];
}
w[i]=1;
w[i-1]+=aux;
if(v[i-1]==val1)
max1+=w[i-1];
else if(v[i-1]==val2)
{
if(max2<0)max2=w[i-1];
else max2+=w[i-1];
}
else
{
if(w[i-1]>max1)
{
max2=max1;
val2=val1;
max1=w[i-1];
val1=v[i-1];
}
else if(w[i-1]>max2)
{
max2=w[i-1];
val2=v[i-1];
}
}
i++;
}
max1=0;max2=0;
for(i=1;i<=n;i++)
{
if(v[i]==val1)max1+=w[i];
if(v[i]==val2)max2+=w[i];
}
if(max1>=m/2+1)fcout<<val1<<" "<<max1;
else if(max2>=m/2+1)fcout<<val2<<" "<<max2;
else fcout<<-1;
return 0;
}