Cod sursa(job #638768)

Utilizator tzipleatudTudor Tiplea tzipleatud Data 21 noiembrie 2011 16:29:20
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>

using namespace std;

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

int n,v[1000001],k=0,i,cand=-1,a=0;

int main () {
    f >> n;
    for (i=1;i<=n;i++) {
        f >> v[i];
        if (k==0) cand=v[i];
        if (cand==v[i]) k++;
            else k--;
    }
    if (cand<0) {g<<-1;f.close();g.close();return 0;}
    for (i=1;i<=n;i++)
        if (v[i]==cand) a++;
    if (a<n/2+1) {g<<-1;f.close();g.close();return 0;}
    g << cand << ' ' << a << '\n';
    f.close();g.close();
    return 0;
}