Cod sursa(job #2377141)

Utilizator marian013Giugioiu Marian Constantin marian013 Data 8 martie 2019 22:18:50
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include<fstream>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
int n,a[1000005],k,nr;
int elmaj()
{
    int c=-1,k=0,i;
    for(i=1;i<=n;i++)
        if(k==0)
    {
        c=a[i];
        k++;
    }
    else if(c==a[i])
        k++;
    else
        k--;
    if(c<0)
        return c;
    for(i=1;i<=n;i++)
        if(a[i]==c)
        nr++;
    if(nr>n/2)
        return c;
    else
        return -1;
}
int main()
{
    f>>n;
    for(int i=1;i<=n;i++)
        f>>a[i];
    int c=elmaj();
    g<<c<<" "<<nr;
}