Cod sursa(job #998516)

Utilizator manutrutaEmanuel Truta manutruta Data 17 septembrie 2013 12:43:04
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
# include <iostream>
# include <fstream>
# include <algorithm>
using namespace std;

# define MAXN 1000010

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

int n;
int a[MAXN];

int main()
{
    f >> n;
    for (int i = 1; i <= n; i++) {
        f >> a[i];
    }

    sort(a + 1, a + n + 1);

    int nr = 0, nrel = 1, sol = 0;
    for(int i = 2; i <= n; i++) {
        if (a[i] == a[i - 1]) {
            nrel++;
        } else {
            nrel = 1;
        }
        if (nrel > sol && nrel > n / 2) {
            sol = nrel;
            nr = a[i];
        }
    }

    if (nr != 0) {
        g << nr << ' ' << sol;
    } else {
        g << -1;
    }

    f.close();
    return 0;
}