Cod sursa(job #1046250)

Utilizator oprea1si2si3Oprea Sebastian oprea1si2si3 Data 2 decembrie 2013 19:50:33
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include<fstream>
using namespace std;
int n,k,cand,contor;
long long v[1000010];

void citire() {

    ifstream in("elmaj.in");

    int i;

    in>>n;
    for(i=1;i<=n;i++)
        in>>v[i];

    in.close();

}

void elmaj() {

    int i;
    k=1;
    cand=v[1];
    for(i=2;i<=n;i++) {
        if(k==0) {
            cand=v[i];
            k=1;
        }
        else
            if(v[i]==cand)
                k++;
            else
                k--;
    }

  for(i=1;i<=n;i++)
        if(v[i]==cand)
            contor++;

}

void afisare() {

    ofstream out("elmaj.out");

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

    out.close();

}

int main (){

    citire();
    elmaj();
    afisare();
    return 0;
}