Cod sursa(job #1652132)

Utilizator bt.panteaPantea Beniamin bt.pantea Data 14 martie 2016 18:19:51
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <iostream>
#include <fstream>
#define DMAX 1000010
using namespace std;
ifstream f ("elmaj.in");
ofstream g ("elmaj.out");
int v[DMAX],n;
int main()
{
    f>>n;
    int cand=-1,k=0;
    for (int i=1;i<=n;i++)
    {
        f>>v[i];
        if (k==0)
        {
            cand=v[i];
            k=1;
        }
        else if (cand==v[i]) k++;
        else k--;
    }
    k=0;
    for (int i=1;i<=n;i++)
        if (v[i]==cand) k++;
    if (k>=n/2+1) g<<cand<<' '<<k<<'\n';
    else g<<-1;
    return 0;
}