Cod sursa(job #1168746)

Utilizator span7aRazvan span7a Data 9 aprilie 2014 14:25:37
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include<fstream>
#include<algorithm>
#include<map>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");

map<unsigned,unsigned>has;
map<unsigned,unsigned>::iterator it;
int T,n,i,m,v[1000000],op,maj,nrap;
int main()
{
        f>>n;
        for(i=1;i<=n;i++)
        {
            f>>v[i];
                if(v[i]==op)maj++;
                else
                    {
                        maj--;
                        if(maj<0)
                        {
                            maj=1;
                            op=v[i];
                        }
                    }
        }
        if(maj<0)g<<-1;
        else
        {
            for(i=1;i<=n;i++)
                if(v[i]==op)
                    nrap++;
            if(nrap>n/2)
                g<<op<<" "<<nrap;
            else g<<-1;
        }
    return 0;
}