Cod sursa(job #765803)

Utilizator bratualexBratu Alexandru bratualex Data 9 iulie 2012 12:47:31
Problema Elementul majoritar Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include <fstream>
#include <set>

using namespace std;
ifstream fin ("elmaj.in");
ofstream fout ("elmaj.out");
int main()
{
    int c,n,i,x,j,gata;
    multiset<int> a;
    multiset<int> :: iterator it;
    //multiset<int> :: iterator it1;
    //multiset<int> :: iterator it2;
    fin>>n;
    it=a.begin();
    for ( i=0;i<n;i++ )
    {
        fin>>x;
        a.insert (x);
        //if(!(i%2))
          //  it++;

    }
    //it=a.begin();
    //it+=n/2;
    //for(i=0;i<n/2;i++,it++);
    //x=*it;
    //it1=a.begin();
    //it2=a.end();
    //it=(it1+it2)/2;
    j=0;
    gata=0;
    for (it=a.end();it!=a.begin()&&!gata;)
    {
        x=*it;
        j=1;
        while (x==*--it)
            j++;
        if (j>n/2)
            gata=1;
    }
    //j=a.count(x);
    if (gata)
        fout<<x<<" "<<j;
    else
        fout<<-1;
    fin.close();
    fout.close();
    return 0;
}