Cod sursa(job #765806)

Utilizator bratualexBratu Alexandru bratualex Data 9 iulie 2012 13:02:00
Problema Elementul majoritar Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>
using namespace std;
ifstream fin ("elmaj.in");
ofstream fout ("elmaj.out");
int main()
{
    int sef=0,n,i,x[1000000],j=0,gata;
    //multiset<int> :: iterator it1;
    //multiset<int> :: iterator it2;
    fin>>n;
    for ( i=0;i<n;i++ )
    {
        fin>>x[i];
        if (!j)
        {
            sef=x[i];
            j++;

        }
        else
        {
            if ( sef==x[i] )
                j++;
            else
                j--;
        }
    }
    j=0;
    gata=0;
    for(i=0;i<n&&!gata;i++)
        if(sef==x[i])
        {
            j++;
            if ( j>n/2 )
                gata=1;
        }
    if (gata)
        fout<<sef<<" "<<j;
    else
        fout<<-1;
    fin.close();
    fout.close();
    return 0;
}