Cod sursa(job #1060789)

Utilizator cdascaluDascalu Cristian cdascalu Data 18 decembrie 2013 19:02:47
Problema Elementul majoritar Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include <cstdio>
#include <algorithm>
#include <fstream>
#include <iostream>
#include <vector>
#include <queue>
#include <map>
#include <cstring>
#include <string>
#include <set>
#include <stack>
#include <unordered_map>
using namespace std;
vector<int> vec;
void print_sol(int x,int nr)
{
    ofstream g("elmaj.out");
    if(x == -1)
        g<<x;
    else
        g<<x<<" "<<nr;
    g.close();
}
int main()
{
    unordered_map<int,int> hash;
    ifstream f("elmaj.in");
    int N;
    int x;
    f>>N;
    for(int i=1;i<=N;++i)
    {
        f>>x;
        if(hash.find(x) != hash.end())
            ++hash[x];
        else
            hash[x] = 1;
        vec.push_back(x);
    }
    for(int i=0;i<vec.size();++i)
        if(hash[vec[i]] > N/2)
        {
            print_sol(vec[i], hash[vec[i]]);
            return 0;
        }
    print_sol(-1, 0);
    return 0;
}