Cod sursa(job #1739915)

Utilizator castle2145Popa Catalin castle2145 Data 10 august 2016 14:44:21
Problema Elementul majoritar Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 1.14 kb
// solutie de 100 de puncte

#include <fstream>
#include <iostream>

using namespace std;

int t, n;
int varcolac;
int varcolaci[16];

ifstream fin ("elmaj.in");
ofstream fout ("elmaj.out");

int main()
{
    t=1;
    int i, j;
    int x, aparitii;
    for(i=1;i<=t;i++)
    {
        fin>>n;
        aparitii=1;
        fin>>varcolac;
        for(j=2;j<=n;j++)
        {
            fin>>x;
            if(x==varcolac)
                aparitii++;
            else
                aparitii--;
            if(aparitii==0)
            {
                varcolac=x;
                aparitii=1;
            }
            if(aparitii>=n/2+1)
            {
                fout<<x<<' '<<aparitii;
                return 0;
            }
        }
        varcolaci[i]=varcolac;
    }
    fin.close();
    ifstream fin ("elmaj.in");
    t=1;
    for(i=1;i<=t;i++)
    {
        fin>>n;
        aparitii=0;
        for(j=1;j<=n;j++)
        {
            fin>>x;
            if(x==varcolaci[i])
                aparitii++;
        }
        if(aparitii>=n/2+1)
            fout<<varcolaci[i]<<' '<<aparitii;
        else
            fout<<"-1";
    }
    return 0;
}