Cod sursa(job #1596271)

Utilizator loo_k01Luca Silviu Catalin loo_k01 Data 10 februarie 2016 21:22:58
Problema Statistici de ordine Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include <fstream>
using namespace std;
int a[2000002], cand,m,n;
int Majoritar ()
{
    int i, nrap;
    cand=a[1];
    nrap=1;
    for (i=2; i<=n; i++)
    {
        if (a[i]==cand) nrap++;
        else nrap--;
        if (nrap<0)
    {
    cand=a[i];
    nrap=1;
    }
    }
    nrap=0;
    for (i=1; i<=n; i++)
        if (a[i]==cand) nrap++;
    if (nrap>n/2) return 1;
    return 0;
}
int main()
{
    ifstream fin ("avarcolaci.in");
    ofstream fout ("avarcolaci.out");
    int i, j;
    fin >> m;
    for (j=1; j<=m; j++)
    {
        fin >> n;
        n = n*2;
        for (i=1; i<=n; i++)
            fin >> a[i];
        if(Majoritar()==0)fout << "Mozart" << "\n";
            else fout << cand << "\n";

    }
    fin.close();
    fout.close();
    return 0;
}