Pagini recente » Cod sursa (job #2628805) | Cod sursa (job #115617) | Cod sursa (job #396167) | Cod sursa (job #1987101) | Cod sursa (job #2187257)
#include <fstream>
#define verf ++poz == CMAX ? in.read (ch, CMAX), poz = 0 : 0
using namespace std;
ifstream in("elmaj.in");
ofstream out("elmaj.out");
const int NMAX = 1000000;
const int CMAX = 1 << 10;
int n, val, ap, poz;
int v[1 + NMAX];
char ch[CMAX];
void read(int &x ) {
if(ch[0] == '\0')
in.read (ch, CMAX) ;
else
for(; ch[poz] < '0' || ch[poz] > '9' ; verf);
for(x = 0; ch[poz] >= '0' && ch[poz] <= '9'; x = x * 10 + ch[poz] - '0', verf) ;
}
int main()
{
read(n);
for(int i = 1; i <= n; i++) {
read(v[i]);
if(v[i] == val)
ap++;
else
ap--;
if(ap < 0) {
val = v[i];
ap = 1;
}
}
ap = 0;
for(int i = 1; i <= n; i++) {
if(v[i] == val)
ap++;
}
if(ap >= n / 2 + 1)
out << val << ' ' << ap << '\n';
else
out << -1 << '\n';
in.close();
out.close();
return 0;
}