Cod sursa(job #1977614)

Utilizator priboiraduPriboi Radu Bogdan priboiradu Data 5 mai 2017 17:09:58
Problema Elementul majoritar Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.75 kb
#include <stdio.h>
#include <stdlib.h>

int v[1000000];

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