Cod sursa(job #1458272)

Utilizator PaulStighiStiegelbauer Paul-Alexandru PaulStighi Data 7 iulie 2015 11:29:43
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<fstream>
#define DMax 1000004
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");

int N,Cand;
long long v[DMax];

int main()
{
    int i,k=0;
    fin>>N;
    for(i=1;i<=N;i++)
    {
        fin>>v[i];
        if(v[i]==Cand)  k++;
        else k--;
        if(k<0){ Cand=v[i]; k=1; }
    }
    k=0;
    for(i=1;i<=N;i++)
        if(v[i] == Cand) k++;
    if(k>=(N/2+1))
        fout<<Cand<<" "<<k<<"\n";
    else
        fout<<"-1\n";
    fin.close();
    fout.close();
    return 0;
}