Cod sursa(job #1458233)

Utilizator ArambasaVlad Arambasa Arambasa Data 7 iulie 2015 10:22:46
Problema Elementul majoritar Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
//Arambasa. All rights reserved! ;)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream in ("elmaj.in");
ofstream out ("elmaj.out");
vector <int> vect;
int N;
int main()
{
    in>>N;
    while (!in.eof())
    {
        int d;
        in>>d;
        vect.push_back(d);
    }
    sort(vect.begin(),vect.end());
    int elmaj=-1,nr=0;
    for (int i=0;i<vect.size();i++)
    {
        if (nr==0)
        {
            elmaj=vect.at(i);
            nr=1;
        }
        else if (vect.at(i)==elmaj)
        {
            nr++;
        }
        else
        {
            nr--;
        }
    }
    if (elmaj<0)
    {
        out<<-1;
        return 0;
    }
    nr=0;
    for (int i=0;i<N;i++)
    {
        if (elmaj==vect.at(i))
        {
            nr++;
        }
    }
    if (nr>N/2)
        out<<elmaj<<' '<<nr;
    return 0;
}