Cod sursa(job #873966)

Utilizator mucenic_b101Bogdan Mucenic mucenic_b101 Data 7 februarie 2013 19:42:22
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include<stdio.h>
int v[1000001];
int main (){
    FILE *f,*g;
    f=fopen("elmaj.in", "r");
    g=fopen("elmaj.out", "w");
    int n,i,cand,increm=1;
    fscanf(f,"%d%d",&n,&v[0]);
    cand=v[0];
    for(i=1;i<n;i++)
    {
        fscanf(f,"%d",&v[i]);
        if(v[i]==cand) increm++;
            else increm--;
        if(increm<0)
        {
            cand=v[i];
            increm=1;
        }
    }
    if(increm)
    {
        increm=0;
        for(i=0;i<n;i++)
            if(v[i]==cand) increm++;
        if(increm>=(n>>1)+1) fprintf(g,"%d %d",cand,increm);
    }
        else fprintf(g,"-1");
    fclose(f);
    fclose(g);
    return 0;
}