Cod sursa(job #1125895)

Utilizator alexteStefanescu Alexandru Catalin alexte Data 26 februarie 2014 20:02:41
Problema Elementul majoritar Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include<fstream>
#include<cstdlib>
int n,x[1000003],i,elmaj,nrap,m;
using namespace std;
int cmp(const void* a, const void* b)
{
    int x=*(int*)a,y=*(int*)b;
    return x-y;
}
int main()
{
    ifstream fin("elmaj.in");
    ofstream fout("elmaj.out");
    fin>>n;
    m=n/2;
    for(i=0;i<n;i++)
        fin>>x[i];
    qsort(x,n,sizeof(int),cmp);
    i=0;
    while(i<m)
    {
        if(x[i]==x[i+m])
            {
                elmaj=x[i];
                nrap=m+1;
                i=i+m+1;
                while(x[i]==elmaj)
                {
                    nrap++;
                    i++;
                }
                i=n+1;
            }
            i++;
    }
    fout<<elmaj<<' '<<nrap;
    fout.close();
    return 0;
}