Cod sursa(job #3326649)

Utilizator adamm24Adam Robert adamm24 Data 29 noiembrie 2025 18:41:16
Problema Elementul majoritar Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <stdio.h>
#include <stdlib.h>

int v[1000005];

int main() {
    FILE *fin, *fout;
    int n, i, el, c, a;

    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]);
    el = v[0];
    c = 1;
    for (i = 1; i < n; i++) {
        if(c == 0) {
            el = v[i];
            c = 1;
        } else {
            if(v[i] == el)
                c++;
            else
                c--;
        }
    }
    a = 0;
    for (i = 0; i < n; i++)
        if (v[i] == el)
            a++;
    if(a > n / 2)
        fprintf(fout, "%d %d", el, a);
    else
        fprintf(fout, "-1");
    fclose(fin);
    fclose(fout);

    return 0;
}