Cod sursa(job #1262633)

Utilizator GeorgianBaditaBadita Marin-Georgian GeorgianBadita Data 13 noiembrie 2014 13:22:46
Problema Elementul majoritar Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
int v[1000001];
int main()
{
    int n;
    f >> n;
        for(int i = 1; i<=n; i++)
            f >> v[i];
        sort(v + 1, v + n + 1);
        int max = -1, elmaj, nr = 0, z;
        for(int i = 1; i <n; i++)
        {
            if(v[i] == v[i + 1])
            {
                nr ++;
                z = v[i];
            }
            else
            {
                if(nr > max && nr >= n / 2 + 1)
                {
                    max = nr;
                    elmaj = z;
                }
                nr = 1;
            }
        }
        if(max != -1)
        g << elmaj << ' ' << max;
        else g << max;
        return 0;
}