Cod sursa(job #2084903)

Utilizator HelloPainBLBreahna Lilian HelloPainBL Data 9 decembrie 2017 12:45:41
Problema Elementul majoritar Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <iostream>
#include <fstream>
#include <map>

using namespace std;

int main(){
    ifstream f_in("elmaj.in");
    int n;
    f_in>>n;
    int *p = &n;
    int a[*p];
    map <int, int> Numbers;
    map<int,int>::iterator it;
    for (int i=0; i<n; i++){
        int tmp;
        f_in >> tmp;
        a[i] = tmp;
        Numbers.insert(pair<int,int>(tmp,0));
        map<int, int>::iterator find;
        find = Numbers.find(a[i]);
        find->second++;
    }
    f_in.close();
    int result = 0; int Max = 0;
    for (it = Numbers.begin(); it != Numbers.end(); it++){
        if(it->second > Max){
            Max = it->second;
            result = it->first;
        }
    }
    ofstream f_out("elmaj.out");
    if ( Max >= (n/2)+1 ) f_out<<result<<" "<<Max; else f_out<<-1;
    f_out.close(); 
}