Cod sursa(job #1744057)

Utilizator otnielMercea Otniel otniel Data 19 august 2016 11:29:11
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include<iostream>
#include<fstream>
using namespace std;
long long v[1000000],n;
void major()
{
    long long acuma=-1,k=0;

    for(long long i=0;i<n;i++)
            if(k==0)
            {
                acuma=v[i];
                k=1;
            }
            else if(acuma==v[i]) k++;
            else k--;
        ofstream g("elmj.out");
        if(acuma==-1)
        g<<"-1"<<endl;
        else
        {
        long long numarare=0;
        for(long long i=0;i<n;i++)
        if(v[i]==acuma) numarare++;
        if(numarare>=n/2+1) {g<<acuma<<" "<<numarare<<endl;}
        else g<<"-1"<<endl;
        }
}
int main()
{

    ifstream f("elmaj.in");
    f>>n;
    for(long long i=0;i<n;i++)
        f>>v[i];

  major();
}