Cod sursa(job #2660115)

Utilizator LucaMihaiLM10Luca Ilie LucaMihaiLM10 Data 18 octombrie 2020 11:36:17
Problema Elementul majoritar Scor 100
Compilator c-64 Status done
Runda Temă vectori frecvență & hashing clasa a 9-a Marime 0.76 kb
#include <stdio.h>
#define NMAX 1000000
int v[NMAX];
int main() {
    FILE *fin, *fout;
    int n, cand, vot, i;
    fin = fopen( "elmaj.in", "r" );
    fscanf( fin, "%d", &n );
    cand = -1;
    vot = 0;
    for ( i = 0; i < n; i++ ) {
        fscanf( fin, "%d", &v[i] );
        if ( vot == 0 ) {
            cand = v[i];
            vot = 1;
        }
        if ( v[i] == cand )
            vot++;
        else
            vot--;
    }
    fclose( fin );
    vot = 0;
    for ( i = 0; i < n; i++ ) {
        if ( v[i] == cand )
            vot++;
    }
    fout = fopen( "elmaj.out", "w" );
    if ( vot <= n / 2 )
        fprintf( fout, "-1");
    else
        fprintf( fout, "%d %d", cand, vot );
    fclose( fout );
    return 0;
}