Cod sursa(job #1801897)

Utilizator caesar2001Stoica Alexandru caesar2001 Data 9 noiembrie 2016 18:15:14
Problema Elementul majoritar Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.67 kb
#include <stdio.h>
#include <stdlib.h>
FILE *in,*out;
int v[1000001];
int main()
{
    in = fopen("elmaj.in","r");
    out = fopen("elmaj.out","w");
    int n,c,av,i,nr,k;
    fscanf(in,"%d",&n);
    for(i = 1;i <= n;i ++)
    {
        fscanf(in,"%d",&v[i]);
    }
    c = v[1]; av = 1;
    for(i = 2;i <= n;i ++)
    {
        if(v[i] == c) av ++;
        else
        {
            if(av == 0)
            {
                c = v[i];
                av = 1;
            }
            else av--;

        }
    }
    nr = 0;
    for(i = 1;i <= n;i ++)
    {
        if(v[i] == c)
            nr ++;
    }
    fprintf(out,"%d %d",c,nr);
    fclose(in);
    fclose(out);
    return 0;
}