Cod sursa(job #1204670)

Utilizator serban_andreiserban andrei-catalin serban_andrei Data 3 iulie 2014 16:55:02
Problema Elementul majoritar Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <iostream>
#include <cstdio>
using namespace std;
int maj,ap=0,c,n,i;
int main()
{
    FILE*f=fopen("elmaj.in","r");
    FILE*g=fopen("elmaj.out", "w");
    fscanf(f,"%d", &n);
    fscanf(f, "%d",&maj);
    for(i=2;i<=n;i++)
    {
        fscanf(f, "%d", &c);
        if(maj==c)ap++;
        else if(ap-1>0)ap--;
        else if(ap-1==0)
        {
            c=maj;
            ap=0;
        }
        else if(ap==0)maj=c;
    }
    fclose(f);
    f=fopen("elmaj.in","r");
    fscanf(f,"%d", &n);
           ap=0;
    for(i=1;i<=n;i++)
    {
        fscanf(f,"%d", &c);
        if(maj==c)ap++;

    }
    if(ap>=n/2+1)fprintf(g,"%d %d",maj,ap);
    else fprintf(g,"-1");
    return 0;
}