Cod sursa(job #1007122)

Utilizator DarkyAngelDarky Angel DarkyAngel Data 8 octombrie 2013 12:31:51
Problema Elementul majoritar Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include <fstream>
#include <map>

using namespace std;

ifstream f("elmaj.in");
ofstream g("elmaj.out");

map<int, int> test;

pair<int, int> max1;

long i, n, v[1000010];

int main () {
    f >> n;
    max1.second = 0;
    for(i = 0; i < n; i++) {
        f >> v[i];
        if(test[v[i]] == false)
            test[v[i]] = 1;
        else {
            test[v[i]] = test[v[i]] + 1;
            if(test[v[i]] > max1.second) {
                max1.second = test[v[i]];
                max1.first = i;
            }
        }
    }

    bool aux = false;
    if(max1.second <= n/2)
        g << -1;
    else {
        g << v[max1.first] << " " << test[v[max1.first]];
    }

    /*for(i = 0; i < n; i++) {
        if(test[v[i]] > n/2) {
            g << v[i] << " " << test[v[i]];
            aux = true;
            break;
        }
    }

    if(!aux)
        g << -1;
    */
}