Cod sursa(job #3300812)

Utilizator brianabucur11Briana Bucur brianabucur11 Data 19 iunie 2025 11:19:17
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <bits/stdc++.h>

using namespace std;

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

const int nmax=1e6+5;

int n, v[nmax];

void majoritar (int n, int v[])
{
    int x=v[1], nr=1;
    for (int i=2; i<=n; i++)
    {
        if (v[i]==x)
            nr++;
        else
            nr--;
        if (!nr)
        {
            x=v[i];
            nr=1;
        }
    }
    nr=0;
    for (int i=1; i<=n; i++)
    {
        if (v[i]==x)
            nr++;
    }
    if (nr>n/2)
        fout << x << " " << nr;
    else
        fout << -1;
}

int main()
{
    fin >> n;
    for (int i=1; i<=n; i++)
        fin >> v[i];
    majoritar(n,v);
}