Pagini recente » Cod sursa (job #100223) | Cod sursa (job #3174230) | Cod sursa (job #526344) | Cod sursa (job #2249414) | Cod sursa (job #1766246)
#include <stdio.h>
#include <bits/stdc++.h>
const int kMaxN = 100000;
const int kBuffSize = 655536;
#define fastcall __attribute__((optimize("-O3")))
#define inline __inline__ __attribute__((always_inline))
int T[2 * kMaxN];
inline fastcall char getChar() {
static char buff[kBuffSize];
static int pos = kBuffSize;
if (pos == kBuffSize) {
fread(buff, 1, kBuffSize, stdin);
pos = 0;
}
return buff[pos++];
}
inline fastcall int readInt() {
int q = 0;
char c;
do {
c = getChar();
} while (!isdigit(c));
do {
q = (q << 1) + (q << 3) + (c - '0');
c = getChar();
} while (isdigit(c));
return q;
}
char outBuff[kBuffSize];
int outPtr;
inline fastcall void putChar(const char &C) {
outBuff[outPtr++] = C;
if (outPtr == kBuffSize) {
fwrite(outBuff, 1, kBuffSize, stdout);
outPtr = 0;
}
}
inline fastcall void writeInt(int X) {
char digs[10];
int n = 0, q;
do {
q = X / 10;
digs[n++] = X - (q << 1) - (q << 3) + '0';
X = q;
} while (X);
while (n--) {
putChar(digs[n]);
}
//putChar('\n');
}
#define NMAX 1000005
using namespace std;
int a[NMAX];
int main()
{
freopen("elmaj.in", "r", stdin);
freopen("elmaj.out", "w", stdout);
int n, cand, k, x;
n = readInt();
a[1] = readInt();
cand = a[1]; k = 1;
for (int i = 2; i <= n; ++i)
{
a[i] = readInt();
if (a[i] == cand) ++k;
else if (k == 0)
{
cand = a[i];
++k;
}
else --k;
}
k = 0;
for (int i = 1; i <= n; ++i)
if (a[i] == cand) ++k;
if (k > n/2) {
writeInt(cand);
putChar(' ');
writeInt(k);
putChar('\n');
}
else {
putChar('-');
putChar('1');
putChar('\n');
}
fclose(stdin);
fwrite(outBuff, 1, outPtr, stdout);
fclose(stdout);
return 0;
}