Cod sursa(job #1784779)

Utilizator medicinedoctoralexandru medicinedoctor Data 20 octombrie 2016 15:06:26
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream cin("elmaj.in");
ofstream cout("elmaj.out");

int n,x,a[1000000],b[1000000];

int ct()
{
    int c=1;
    for (int i=2; i<=n; i++)
    {
        if (a[i]) c++; else return c;
    }
    return n;
}

main()
{
    cin >> n;
    for (int i=0; i<=n; i++)
        a[i]=0;
    for (int i=1; i<=n; i++)
    {
        cin >> x;
        b[i]=x;
        if (x==a[1])
        {
            a[0]++;
            a[a[0]]=x;
        }
        else
        {
            if (a[1]==0)
            {
                a[1]=x;
                a[0]=1;
            }
            else
            {
                a[a[0]]=0;
                a[0]--;
            }
        }
    }
    cout << '\n';
    if (a[0]==0) cout << -1; else
        cout << a[1] << ' ' << ct();
}