Pagini recente » Cod sursa (job #103166) | Cod sursa (job #932449) | Cod sursa (job #939972) | Cod sursa (job #3213732) | Cod sursa (job #1040407)
#include<iostream>
#include<fstream>
#define numaru 1000001
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
int v[numaru],z[numaru];
void Sort(int s,int d)
{
if(s==d)return ;
int i=s,m=(s+d)>>1,j=m+1,k=s;
Sort(s,m); Sort(m+1,d);
for(;i<=m || j<=d;)
if(j>d || (i<=m && v[i]<v[j]))
{
z[k++]=v[i++];
}
else
{
z[k++]=v[j++];
}
for(k=s;k<=d;v[k]=z[k++]);
}
int main()
{
int i,n,nr=1,a,nrmax=0;
f>>n;
for(i=1;i<=n;++i) f>>v[i];
Sort(1,n);
for(i=1;i<n;++i)
if(v[i]==v[i+1])++nr;
else { if(nr>nrmax) { nrmax=nr; a=v[i]; } nr=1; }
if(nrmax>=n/2+1)g<<a<<" "<<nrmax<<"\n";
else g<<"-1\n";
f.close();
g.close();
return 0;
}