Pagini recente » Cod sursa (job #1733174) | Cod sursa (job #1473672) | Cod sursa (job #2611030) | Cod sursa (job #1832735) | Cod sursa (job #1012172)
#include <cstdio>
#include <vector>
#include <cstdlib>
#include <cstring>
#define N 1000010
using namespace std;
vector <int> bucket[10];
vector <int>::iterator it;
inline int max(int x,int y){ if(x>y)return x; return y; }
int a[N];
char sir[N*9],*p;
int main()
{ int n,k;
freopen("elmaj.in","r",stdin);
scanf("%d\n",&n);
gets(sir); p=strtok(sir," "); int i=0;
while(p!=NULL)
{
a[++i]=strtol(p,NULL,10);
p=strtok(NULL," ");
}
int maxv=0;
for(int i=1;i<=n;++i)
{
scanf("%d",&a[i]);
maxv=max(maxv,a[i]);
}
fclose(stdin);
long long exp=1;
while(maxv>exp)
{
for(int i=1;i<=n;++i)bucket[a[i]/exp%10].push_back(a[i]);
k=0;
for(int i=0;i<10;++i)
{
for(it=bucket[i].begin();it!=bucket[i].end();++it)
a[++k]=*it;
bucket[i].clear();
}
exp*=10;
}
int x=a[n/2],ap=0;
freopen("elmaj.out","w",stdout);
for(int i=1;i<=n;++i)
if(x==a[i])++ap;
if(ap>n/2)printf("%d %d",x,ap);
else printf("-1");
fclose(stdout);
return 0;
}