Cod sursa(job #1643249)

Utilizator larecursividadLa Recursividad larecursividad Data 9 martie 2016 18:15:28
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.61 kb
#include <fstream>
#define InFile  "elmaj.in"
#define OutFile "elmaj.out"
#define MAX 1000001

using namespace std;

ifstream fin  (InFile);
ofstream fout (OutFile);

unsigned int n;
unsigned int v[MAX];

unsigned int a[MAX];
unsigned int i;

unsigned int sol1, sol2;

int main ()
{
    fin >> n;
    for (i=0; i<n; i++)
        fin >> v[i];
    for (i=0; i<n; i++)
        a[v[i]]++;
    for (i=0; i<n; i++)
        if (a[v[i]] > a[sol1])
            sol1 = v[i];
    sol2 = a[sol1];
    if (a[sol1] >= n/2+1)
        fout << sol1 << ' ' << sol2;
    else
        fout << -1;
    return 0;
}