Cod sursa(job #637150)

Utilizator predator5047Butiu Alexandru Octavian predator5047 Data 20 noiembrie 2011 12:21:50
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <fstream>
#define MAX_N 1000001
using namespace std;
int v[MAX_N];

int main()
{
    int cand,k=0,n;
    ifstream fin("elmaj.in");
    fin>>n;
    for(int i=1;i<=n;++i)
    {
        fin>>v[i];
        if(k==0)
        {
            cand=v[i];
            k=1;
        }
        else if (cand==v[i])
            ++k;
        else
            --k;
    }
    int ct=0;
    for(int i=1;i<=n;++i)
        if(cand==v[i])
            ++ct;
    fin.close();
    ofstream fout("elmaj.out");
    if(ct>n/2)
        fout<<cand<<" "<<ct;
    else
        fout<<-1;
    fout.close();
    return 0;
}