Cod sursa(job #781646)

Utilizator my666013Test Here my666013 Data 24 august 2012 19:45:09
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
#define Mod 666013
ifstream f("elmaj.in");
ofstream g("elmaj.out");

vector<int>v[Mod];
int n;

void elmaj(int p)
{   int k = v[p].size(), nr = 1, f, m = 0;
    sort(v[p].begin(),v[p].end());
    for(int i=1;i<k;i++)
    {
        if( v[p][i] == v[p][i-1] )nr++; else nr = 1;

        if( nr > m )
        {
            f = i;
            m = nr;
        }
    }
    if( m > n/2 )
    g << v[p][f] << ' ' << m << '\n';
}

int main(){
    int x;
        f >> n;
        for(int i=1;i<=n;i++)
        {
            f >> x;
            v[x%Mod].push_back(x);
        }
        for(int i=0;i<Mod;i++)
        if( v[i].size() > n/2 )elmaj(i);

    return 0;
}