Cod sursa(job #2894065)

Utilizator andreipirjol5Andrei Pirjol andreipirjol5 Data 27 aprilie 2022 10:48:19
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <cstdio>

using namespace std;
FILE *fin, *fout;

#define NMAX 1000000
int v[NMAX + 5];

int main()
{
    fin = fopen("elmaj.in", "r");
    fout = fopen("elmaj.out", "w");

    int n;
    fscanf(fin, "%d", &n);
    int i;
    for(i = 1; i <= n; i++)
        fscanf(fin, "%d", &v[i]);

    int el = v[1], nrapp = 1;
    for(i = 2; i <= n; i++)
    {
        if(v[i] == el)
            nrapp++;
        else if(nrapp == 0)
        {
            el = v[i];
            nrapp = 1;
        }
        else
            nrapp--;
    }

    nrapp = 0;
    for(i = 1; i <= n; i++)
        if(v[i] == el)
            nrapp++;

    fprintf(fout, "%d %d", el, nrapp);

    fclose(fin);
    fclose(fout);
    return 0;
}