Cod sursa(job #1452566)

Utilizator refugiatBoni Daniel Stefan refugiat Data 21 iunie 2015 13:00:34
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.91 kb
#include<cstdio>
#include<iostream>
#include<fstream>
#include<algorithm>
#include<bitset>
#include<list>
using namespace std;
int main()
{
    //ifstream si;
    //si.open("gardul.in");
    FILE* si=fopen("elmaj.in","r");
    //FILE* so=fopen("ordine.out","w");
    ofstream so;
    so.open("elmaj.out");
    int n;
    fscanf(si,"%i",&n);
    int i,v[n];
    for(i=0;i<n;++i)
    {
        fscanf(si,"%i",&v[i]);
    }
    sort(v,v+n);
    int cont=1,maxx=0,el;
    for(i=1;i<n;++i)
    {
        if(v[i]==v[i-1])
        {
            ++cont;
        }
        else
        {
            if(maxx<cont)
            {
                maxx=cont;
                el=v[i-1];
            }
            cont=1;
        }
    }
    if(maxx<cont)
    {
        maxx=cont;
        el=i;
    }
    if(maxx>n/2)
    {
        so<<el<<' '<<maxx<<'\n';
    }
    else
        so<<-1;
}