Pagini recente » Cod sursa (job #142917) | Cod sursa (job #1934375) | Cod sursa (job #3267400) | Cod sursa (job #2423154) | Cod sursa (job #1810824)
#include <cstdio>
#include <algorithm>
using namespace std;
#define buff_size 1048576
char buff[buff_size];
int pos=0;
#define fastcall __attribute__((optimize("-O3")))
#define inline __inline__ __attribute__((always_inline))
inline fastcall void read(int &nr)
{
while(!isdigit(buff[pos])) if(++pos == buff_size) fread(buff, 1,buff_size, stdin), pos = 0;
nr = 0;
while(isdigit(buff[pos]))
{
nr = (nr<<1)+(nr<<3)+ buff[pos] - 48;
if(++pos == buff_size) fread(buff, 1, buff_size, stdin), pos = 0;
}
}
char outBuff[buff_size];
int outPtr;
inline fastcall void putChar(const char &C) {
outBuff[outPtr++] = C;
if (outPtr == buff_size) {
fwrite(outBuff, 1, buff_size, stdout);
outPtr = 0;
}
}
inline fastcall 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 v[1000001],n,pairs=0,maj,cnt=0;
int main()
{
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
fread(buff, 1,buff_size, stdin);
read(n);
for(int i=1;i<=n;++i)
{
read(v[i]);
if(!pairs) maj=v[i],++pairs;
else if(v[i]==maj) ++pairs;
else --pairs;
}
for(int 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);
}