Cod sursa(job #1127618)

Utilizator firutibogdanFiruti Bogdan-Cristian firutibogdan Data 27 februarie 2014 13:07:45
Problema Elementul majoritar Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include<fstream>
#include<cstdlib>
using namespace std;
int n,i,a[1000002],ok,p,c;
fstream fin,fout;
int cmp(const void *a,const void*b)
{
    int x,y;
    x=*(int*)a;
    y=*(int*)b;
    return x-y;
}
int main()
{
    ifstream fin("elmaj.in");
    ofstream fout("elmaj.out");
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>a[i];
    }
    qsort(a+1,n,sizeof(int),cmp);
    p=1;
    i=1;
    ok=0;
    while(i<=n && ok==0)
    {
        while(i<=n && a[i]==a[p])
        {
            i++;
        }
        c=i-p;
        if(c>n/2)
        {
            ok=1;
            break;
        }
        p=i;
        i++;
    }
    if(ok==0)
    {
        fout<<"-1";
    }
    else
    {
        fout<<a[p]<<" "<<c;
    }
    fin.close();
    fout.close();
    return 0;
}