Cod sursa(job #2215615)

Utilizator teodorescunicolasteodorescu nicolas alexandru teodorescunicolas Data 22 iunie 2018 20:04:51
Problema Elementul majoritar Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.75 kb
#include <stdio.h>

int v[3000000];
int main()
{
    FILE *fin;
    FILE *fout;
    int n,i,nr,maj;
    fin=fopen("majoritar.in","r");
    fscanf(fin,"%d",&n);
    for (i=0;i<n;i++)
        fscanf(fin,"%d",&v[i]);
    fclose(fin);
    maj=v[0];
    nr=1;
    for (i=1;i<n;i++)
        if(v[i]==maj)
        nr++;
            else
            {
                nr--;
                if (nr<0)
                {
                    maj=v[i];
                    nr=1;
                }
            }
    nr=0;
    for (i=0;i<n;i++)
        if (v[i] == maj)
            nr++;
    fout=fopen ("majoritar.out","w");
    if (nr>n/2)
        fprintf(fout,"%d %d\n",maj,nr);
    else
        fprintf(fout,"-1\n");
    fclose(fout);
}