Cod sursa(job #2262497)

Utilizator BAlexandruBorgovan Alexandru BAlexandru Data 17 octombrie 2018 15:08:11
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>

using namespace std;

ifstream f("elmaj.in");
ofstream g("elmaj.out");

int n,i,v[1000001],maj,nr,nrap;

int main()
{
    f>>n;
    for (i=1;i<=n;i++)
        f>>v[i];
    maj=v[1];
    nr=1;
    for (i=2;i<=n;i++)
    {
        if (nr==0)
        {
            maj=v[i];
            nr=1;
        }
        else
        {
            if (v[i]==maj)
                nr++;
            else
                nr--;
        }
    }
    if (nr>=0)
    {
        for (i=1;i<=n;i++)
            if (v[i]==maj)
                nrap++;
        if (nrap>=n/2+1)
            g<<maj<<" "<<nrap;

    }
    return 0;
}