Pagini recente » Cod sursa (job #1918227) | Cod sursa (job #1491983) | Cod sursa (job #2619609) | Cod sursa (job #1453681) | Cod sursa (job #1810789)
#include <cstdio>
#include <algorithm>
using namespace std;
#define buff_size 1000001
char buff[buff_size];
int pos=0;
inline void read(int &nr)
{
while(!isdigit(buff[pos])) pos++;
nr = 0;
while(isdigit(buff[pos]))
{
nr = (nr<<1)+(nr<<3)+ buff[pos] - 48;
pos++;
}
}
char outBuff[buff_size];
int outPtr;
inline void putChar(const char &C) {
outBuff[outPtr++] = C;
}
inline void write(int X) {
static char digs[10];
int n = 0, q;
do {
q = X / 10;
digs[n++] = X - (q << 1) - (q << 3) + 48;
X = q;
} while (X);
while (n--) {
putChar(digs[n]);
}
putChar(' ');
}
int i,n,pairs=0,v[1000001],maj,cnt=0;
int main()
{ freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
fread(buff, 1,buff_size, stdin);
read(n);
for(i=1;i<=n;++i)
{
read(v[i]);
if(!pairs) maj=v[i],++pairs;
else if(v[i]==maj) ++pairs;
else --pairs;
}
for(i=1;i<=n;++i) if(v[i]==maj) cnt++;
if(cnt>n/2) write(maj),write(cnt);
else putChar('-'),putChar('1');
fwrite(outBuff, 1, outPtr, stdout);
}