Cod sursa(job #2980205)

Utilizator alexandru_ioan.06Alexandru Ioan alexandru_ioan.06 Data 16 februarie 2023 11:38:31
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <bits/stdc++.h>

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

const int dim = 1e6 + 5;

int v[dim] , n;

int main()
{
    fin >> n;
    for(int i = 1 ; i <= n ; ++i) fin >> v[i];
    int cand = -1 , k = 0;
    for(int i = 1 ; i <= n ; ++i)
        {
            if(k == 0)
                {
                    cand = v[i];
                    k = 1;
                }
            else if(v[i] == cand) ++k;
            else --k;
        }
    int ap = 0;
    for(int i = 1 ; i <= n ; ++i)
        if(v[i] == cand) ap++;
    if(ap > n/2) fout << cand << " " << ap;
    else fout << -1;
}