Cod sursa(job #1784786)

Utilizator medicinedoctoralexandru medicinedoctor Data 20 octombrie 2016 15:11:01
Problema Elementul majoritar Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 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 (b[i]==a[1]) c++;
    }
    return c;
}

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]--;
            }
        }
    }
    if (a[0]==0) cout << -1; else
        cout << a[1] << ' ' << ct();
}