Cod sursa(job #1878617)

Utilizator razviii237Uzum Razvan razviii237 Data 14 februarie 2017 12:14:17
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;
int v[1000001],i,acuma=1,n;
int main()
{
    FILE *f;
    FILE *g;
    f = fopen("elmaj.in", "r");
    g = fopen("elmaj.out", "w");
    fscanf(f,"%d", &n);
    for(i=1;i<=n;i++)
    {
        fscanf(f, "%d", &v[i]);
    }
    sort(v+1,v+n+1);
    for(i=2;i<=n;i++)
    {
        if(v[i]==v[i-1])
            acuma++;
        else
        {
            if(acuma >= n/2+1)
            {
                fprintf(g, "%d %d", v[i-1],acuma);
                acuma = 1;
                return 0;
            }
            else
                acuma =1;
        }
    }
     if(acuma >= n/2+1)
            {
                fprintf(g, "%d %d", v[n],acuma);
                acuma = 1;
                return 0;
            }
    fprintf(g, "-1");
    return 0;
}