Cod sursa(job #1153495)

Utilizator clopotelNeamtu Sergiu clopotel Data 25 martie 2014 15:25:58
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int a[1000001],n;
int fct()
{
    sort(a,a+n);
    int i=0;
    while(i<n)
    {
        int j=i;
        while(j<n and a[j+1]==a[i])
            j++;
        if(j-i+1>n/2)
            return a[i];
        i=j+1;
    }
    return -1;
}

int main()
{
    fin>>n;
    for(int i=0; i<n; i++)
        fin>>a[i];
    int m=fct(),x=0;
    for(int i=0; i<n; i++)
        if(a[i]==m)
            x++;
    if(x!=0)
        fout<<m<<" "<<x;
    else
        fout<<-1;
    return 0;
}