Cod sursa(job #1878572)

Utilizator razviii237Uzum Razvan razviii237 Data 14 februarie 2017 11:50:08
Problema Elementul majoritar Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <map>
#include <cstdio>
using namespace std;
int i,n,imax,maxim,x;
int main()
{
    map <int  , int>mp;
    FILE *f;
    FILE *g;
    f = fopen("elmaj.in", "r");
    g = fopen("elmaj.out", "w");
    fscanf(f, "%i", &n);///citesc n
    for(i=1;i<=n;i++)
    {
        fscanf(f, "%i", &x);///citesc numerele din sir
        mp[x]++;
        if(x==imax)
            maxim++;
        if(mp[x]>n/2+1)
        {
            maxim = mp[x];
            imax = x;
        }
    }
    if(maxim)
    {
        fprintf(g, "%i %i", imax,maxim);///afisez rezultatul
    }
    else
        {
            fprintf(g,"-1");///afisez rezultatul
        }
    return 0;
}