Cod sursa(job #1611605)

Utilizator RaduXD1Nicolae Radu RaduXD1 Data 24 februarie 2016 11:54:06
Problema Elementul majoritar Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include<iostream>
#include<fstream>
#include<algorithm>

using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int n,v[1000000],nrst,st,i;

int main()
{
    fin>>n;
    fin>>v[1];
    st=1;
    nrst=v[1];
    for(i=2;i<=n;i++)
    {
        fin>>v[i];
        if(st==0&&v[i]!=nrst)
        {
            nrst=v[i-1];
            st=1;
        }
        if(nrst==v[i])
            st++;
        else
            st--;
    }
    int nr=0;
    for(i=1;i<=n;i++)
    {
        if(v[i]==nrst)
            nr++;
    }
    if(st>0&&nr>n/2)
        fout<<nrst<<" "<<nr;
    else
    {
        if(nr>n/2)
            fout<<nrst<<" "<<nr;
        else
            fout<<-1<<" ";
    }
    fin.close();
    fout.close();
    return 0;
}