Cod sursa(job #1207413)

Utilizator R4DIC4LTeodorescu Oana Maria R4DIC4L Data 12 iulie 2014 22:56:46
Problema Elementul majoritar Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.97 kb
#include <cstdio>
#include <map>
using namespace std;

int n, x;
map<int, int> aparitii;

int main() {
    freopen("elmaj.in", "r", stdin);
    freopen("elmaj.out", "w", stdout);

    int max = 0, ap = 0;

    scanf("%d", &n);
    for (int i = 0; i < n; ++i) {
        scanf("%d", &x);
        map<int, int>::iterator it = aparitii.find(x);
        if (it != aparitii.end()) {
            it->second ++;
        } else {
            aparitii.insert(pair<int, int>(x, 1));
            it = aparitii.find(x);
        }
        if (ap < it->second) {
            ap = it->second;
            max = it->first;
        }
    }

    /*/
    for (map<int, int>::iterator it = aparitii.begin(); it != aparitii.end(); ++it) {
        if (ap < it->second) {
            ap = it->second;
            max = it->first;
        }
    }
    //*/

    if (ap > n/2) {
        printf("%d %d\n", max, ap);
    } else {
        printf("-1 \n");
    }

    return 0;
}