Cod sursa(job #1007105)

Utilizator DarkyAngelDarky Angel DarkyAngel Data 8 octombrie 2013 11:58:59
Problema Elementul majoritar Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <cstdio>
#include <map>

using namespace std;

FILE *fin = fopen("elmaj.in", "r");
FILE *fout = fopen("elmaj.out", "w");

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

map<int, int> test;

long i, n, v[1000010];

int main () {
    //f >> n;
    fscanf(fin, "%d", &n);
    for(i = 0; i < n; i++) {
        //f >> v[i];
        fscanf(fin, "%d", &v[i]);
        if(test[v[i]] == false)
            test[v[i]] = 1;
        else
            test[v[i]] = test[v[i]] + 1;
    }

    bool aux = false;

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

    if(!aux)
        fprintf(fout, "-1");
        //g << -1;
}