Cod sursa(job #1114798)

Utilizator SilviussMezei Silviu Silviuss Data 21 februarie 2014 19:36:03
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include <fstream>
#include <vector>
#define x   50001

using namespace std;

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

int main()
{
    int n,i,j,a;
    vector<unsigned short> v[x];
    vector<int> u[x];
    fin>>n;
    for(i=0;i<n;++i)
    {
        fin>>a;
        for(j=0;j<v[a%x].size();++j)
            if(v[a%x][j]==a/x)
            {
                u[a%x][j]++;
                break;
            }
        if(j==v[a%x].size())
        {
            v[a%x].push_back(a/x);
            u[a%x].push_back(1);
        }
    }
    for(i=0;i<x;++i)
        for(j=0;j<v[i].size();++j)
            if(u[i][j]>=n/2+1)
            {
                a=v[i][j];
                a*=x;
                a+=i;
                fout<<a<<" "<<u[i][j];
                goto loop;
            }
    fout<<-1;
    loop:;
}