Pagini recente » Cod sursa (job #1390460) | Cod sursa (job #219019) | Cod sursa (job #261358) | Cod sursa (job #683478) | Cod sursa (job #1664680)
#include <fstream>
using namespace std;
long long n,a[1000000],q;
void lire()
{
long long i;
ifstream f("elmaj.in");
f >> n;
for (i=1; i<=n; i++)
f >> a[i];
f.close();
}
void sw(long long *x,long long *y)
{
long long q=*x;
*x=*y;
*y=q;
}
void qs(long long l, long long r)
{
long long i=l,j=r; long long q=a[(i+j)/2];
while (i<j)
{
while (a[i]<q) i++;
while (a[j]>q) j--;
if (i<=j)
{
sw(&a[i],&a[j]);
i++;
j--;
}
}
if (i<r) qs(i,r);
if (j>l) qs(l,j);
}
long long lu()
{
long long y=0,x=a[n/2];
for (int i=1; i<=n; i++)
if (a[i]==x) y++;
q=x;
return y;
}
void ecrire(long long x)
{
ofstream f("elmaj.out");
if (x>(n / 2)) f << q << ' ' << x; else f << -1;
f.close();
}
int main()
{
lire();
qs(1,n);
ecrire(lu());
return 0;
}