Cod sursa(job #937100)

Utilizator SPDionisSpinei Dionis SPDionis Data 9 aprilie 2013 18:36:27
Problema Elementul majoritar Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>
#include <vector>
#include <algorithm>
#include <map>
#include <iostream>

using std::vector;
using std::map;

int main()
{
    std::ifstream in("elmaj.in");
    std::ofstream out("elmaj.out");
    int N;
    in >> N;
    map<int, int> A;
    for (int i = 0; i < N; ++i)
    {
        int temp;
        in >> temp;
        A[temp]++;
        if (A[temp] >= N / 2 + 1) { out << temp << " " << A[temp]; return 0; }
    }

    for ( map<int, int>::iterator it = A.begin(); it != A.end(); ++it)
        if ( it -> second >= N / 2 + 1 ) out << it -> first << " " << it -> second;

    in.close();
    out.close();
    return 0;
}