Cod sursa(job #1262621)

Utilizator CalinCojoFMI Cojocaru Calin George CalinCojo Data 13 noiembrie 2014 13:09:58
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.77 kb
#include<iostream>
#include<fstream>
using namespace std;

int main()
{
    ifstream f("elmaj.in",ios::in);
    ofstream g("elmaj.out",ios::out);
   long int n,nr_aparitii=0, contor=1,el_maj,i,v[1000001],max_aparitii=1;
    f>>n;
    for(i=1;i<=n;i++){
        f>>v[i];
    }
    for(i=1;i<=n;i++){
        if(v[i]==v[max_aparitii])
            contor++;
        else
            contor--;
        if(contor==0){
            max_aparitii=i;
            contor=1;
        }
    }
     for(i=1;i<=n;i++)
        if(v[i]==v[max_aparitii])
            nr_aparitii++;

        if(nr_aparitii>=n/2+1){
                g<<v[max_aparitii]<<" "<<nr_aparitii;
        }
        else{
            g<<"-1";
        }
    f.close();
    g.close();
    return 0;
}