Cod sursa(job #1210232)

Utilizator daniel.amarieiDaniel Amariei daniel.amariei Data 19 iulie 2014 14:48:05
Problema Elementul majoritar Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
#include <map>
using namespace std;

int n, v[1 << 20];

ifstream ifs("elmaj.in");
ofstream ofs("elmaj.out");


void resolve_using_map()
{
    map<int, int> freq;
    for (int i = 0; i < n; ++i)
    {
        ++freq[v[i]];
    }
    
    for (map<int, int>::iterator it = freq.begin(); it != freq.end(); ++it) 
    {
        if (it->second > n/2)
        {
            ofs << it->first << " " << it->second << endl; 
            return;
        }
    }
    
    ofs << -1 << endl;    
}

int main()
{
    ifs >> n;   
    for (int i = 0; i < n; ++i)
    {
        ifs >> v[i];
    }
    
    resolve_using_map();
    
    return 0;
}