Pagini recente » Cod sursa (job #1057086) | Cod sursa (job #328452) | Cod sursa (job #2219407) | Cod sursa (job #2399767) | Cod sursa (job #1810797)
#include <cstdio>
#include <algorithm>
using namespace std;
#define buff_size 10000001
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 v[1000001];
int main()
{ int n,maj,cnt=0;
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(!cnt) maj=v[i],++cnt;
else if(v[i]==maj) ++cnt;
else --cnt;
}
cnt=0;
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);
}