Cod sursa(job #1168274)

Utilizator demetriad-dagpagDavid Demetriad demetriad-dagpag Data 7 aprilie 2014 19:17:53
Problema Elementul majoritar Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.67 kb
#include <stdio.h>
#include <stdlib.h>
int v[1000001];
int main()
{
    int n,i,maj,nr,j;
    FILE *fin=fopen("elmaj.in","r");
    fscanf(fin,"%d",&n);
    for(i=1; i<=n; i++)
        fscanf(fin,"%d",&v[i]);
    fclose(fin);
    maj=v[1];
    nr=1;
    for(j=2; j<=n; j++)
        if(nr<0 && v[j]!=maj)
        {
            maj=v[j];
            nr=1;
        }
        else
            if(nr>=0 && v[j]!=maj)
                nr--;
            else
                nr++;
    nr=0;
    for(i=1; i<=n; i++)
        if(v[i]==maj)
            nr++;
    FILE *fout=fopen("elmaj.out","w");
    fprintf(fout,"%d %d",maj,nr);
    fclose(fout);

    return 0;
}