Cod sursa(job #1127591)

Utilizator firutibogdanFiruti Bogdan-Cristian firutibogdan Data 27 februarie 2014 13:02:21
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 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()
{
    fin.open("elmaj.in",ios::in);
    fout.open("elmaj.out",ios::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=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;
}