Cod sursa(job #3265591)

Utilizator AndreiCod123Sitaru Mircea AndreiCod123 Data 1 ianuarie 2025 13:29:12
Problema Elementul majoritar Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include<bits/stdc++.h>
using namespace std;

ifstream fin("elmaj.in");
ofstream fout("elmaj.out");

const int NMAX = 1001;
long long v[NMAX];

int main()
{
    int n, i;
    int cntr = 0, candidat = 0, aparitii = 0;

    fin>> n;
    for(i = 1; i <= n; i++)
        fin>> v[i];

    for(i = 1; i <= n; i++)
    {
        if(cntr == 0)
        {
            candidat = v[i];
            cntr = 1;
        }
        else
        {
            if(v[i] == candidat)
                cntr++;
            else
                cntr--;
        }
    }

    for(i = 1; i <= n; i++)
        if(v[i] == candidat) aparitii++;

    if(aparitii > n/2)
        fout<< candidat<<" "<< aparitii;
    else
        fout<<"-1";

    fin.close();
    fout.close();
    return 0;
}