Cod sursa(job #3362675)

Utilizator CorvinJudge0Corvin Judge CorvinJudge0 Data 11 august 2026 13:09:00
Problema Elementul majoritar Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("elmaj.in") ;
ofstream fout ("elmaj.out") ;
int v[1000001] ;
int main()
{
    int N, n, b, x, nr ;
    fin>> N ;
    for (int i=1 ; i<=N ; i++)
        fin>>v[i] ;
    n=N ;
    while (n>=1) {
        b=0 ;
        nr=1 ;
        x=v[1] ;
        for (int i=2 ; i<=n ; i++) {
            if (v[i]==x)
                nr++ ;
            else {
                b++ ;
                v[b]=v[i] ;
            }
            if (nr+n-i+1<=N/2)
                i=n+1 ;
        }
        if (nr>=N/2+1) {
            fout<< x << " " << nr ;
            return 0 ;
        }
        n-=nr ;
    }
    fout<<-1 ;
    return 0;
}