Cod sursa(job #3342545)

Utilizator TimofeiFilipTimofei Filip Emanuel TimofeiFilip Data 24 februarie 2026 17:35:48
Problema Elementul majoritar Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.89 kb
#include <iostream>
using namespace std;

const int NMAX = 1e6 + 10;

int v[NMAX];

int main()
{
    freopen("elmaj.in", "r", stdin);
    freopen("elmaj.out", "w", stdout);
    int n;

    scanf("%d", &n);
    for(int i = 1; i <= n; i++){
        scanf("%d", &v[i]);
    }
    int element_curent = -1, aparitii_curente = 0;
    for(int i = 1; i <= n; i++){
        if(element_curent == -1){
            element_curent = v[i];
            aparitii_curente = 1;
            continue;
        }
        aparitii_curente--;
        if(aparitii_curente <= 0){
            element_curent = -1;
        }
    }

    aparitii_curente = 0;
    for(int i = 1; i <= n; i++){
        aparitii_curente += (element_curent == v[i]);
    }
    if(aparitii_curente >= (n / 2 + 1))
        printf("%d %d", element_curent, aparitii_curente);
    else
        printf("-1");
    return 0;
}