Cod sursa(job #1098107)

Utilizator radu_priboiRadu Priboi Bogdan radu_priboi Data 4 februarie 2014 14:38:22
Problema Elementul majoritar Scor 80
Compilator c Status done
Runda Arhiva educationala Marime 0.7 kb
#include <stdio.h>
#include <stdlib.h>

int v[3000000];

int main()
{FILE *fin,*fout;
    int n,i,j,c;
    fin=fopen("elmaj.in","r");
    fout=fopen("elmaj.out","w");
    fscanf(fin,"%d",&n);
    for (i=0;i<n;i++)
        fscanf(fin,"%d",&v[i]);
    i=0;
    c=1;
    while (i<n && c<n/2+1) {
        c=1;
        if (v[i]!=-1) {
            for (j=i+1;j<n;j++)
                if (v[i]==v[j]) {
                    c++;
                    v[j]=-1;
                }
        }
        if (c>=n/2+1)
            fprintf(fout,"%d %d",v[i],c);
        v[i]=-1;
        i++;
    }
    if (c<n/2+1)
        fprintf(fout,"%d",-1);
    fclose(fin);
    fclose(fout);
    return 0;
}