Pagini recente » Cod sursa (job #767475) | Cod sursa (job #1441122) | Cod sursa (job #930336) | Cod sursa (job #708467) | Cod sursa (job #764615)
Cod sursa(job #764615)
#include <stdio.h>
#include <map>
using namespace std;
int v[1000010];
map<int, int> rez;
int n;
void citeste() {
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &v[i]);
}
}
void rezolva() {
int rez1 = -1;
int rez2 = -1;
map<int, int>::iterator it;
for (int i = 0; i < n; i++) {
it = rez.find(v[i]);
if (it == rez.end()) {
rez.insert(pair<int, int>(v[i], 1));
} else {
int a = (*it).second;
if ((*it).second + 1> n/2) {
rez1 = (*it).first;
rez2 = (*it).second + 1;
}
rez.erase(it);
rez.insert(pair<int, int>(v[i], a + 1));
}
}
if (rez1 != -1) {
printf("%d %d", rez1, rez2);
} else {
printf("-1");
}
}
int main(){
freopen("elmaj.in", "r", stdin);
freopen("elmaj.out", "w", stdout);
citeste();
rezolva();
}