Cod sursa(job #1876476)

Utilizator SkripexBeschieru Marius Skripex Data 12 februarie 2017 13:30:32
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb

#include <fstream>
using namespace std;
ifstream fin ("elmaj.in");
ofstream fout ("elmaj.out");
int a[10000001],n,i,ok,maj,nr;
int main()
{
    fin>>n;
    for (i=1;i<=n;i++)
    {
        fin>>a[i];
    }
    ok=1;
    maj=a[1];
    for (i=1;i<=n-1;i++)
    {
        if (maj==a[i+1])
        {
            ok++;
        }
        else if (maj!=a[i-1])
        {
            ok--;
        }
        if (ok==0)
        {
            maj=a[i];
        }
    }
    fout<<maj<<" ";
    for (i=1;i<=n;i++)
    {
        if (maj==a[i])
        {
            nr++;
        }
    }
    fout<<nr;
    fin.close ();
    fout.close ();

    return 0;
}