Cod sursa(job #1180435)

Utilizator oprea1si2si3Oprea Sebastian oprea1si2si3 Data 30 aprilie 2014 17:31:25
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include<fstream>
using namespace std;
ifstream in("elmaj.in");
ofstream out("elmaj.out");

int N,v[1000010];

int main() {

    int i,cand,contor;
    in>>N;
    in>>v[1];
    cand=v[1];
    contor=1;
    for(i=2;i<=N;i++){
        in>>v[i];
        if(v[i]==cand)
            contor++;
        else
            if(contor==0){
                cand=v[i];
                contor=1;
            }
            else
                contor--;
    }
    contor=0;
    for(i=1;i<=N;i++)
        if(v[i]==cand)
            contor++;

    if(contor>=N/2+1)
        out<<cand<<' '<<contor<<'\n';
    else
        out<<"-1"<<'\n';

    in.close();
    out.close();
    return 0;

}