Cod sursa(job #2461559)

Utilizator sebastianp2003Popa Sebastian sebastianp2003 Data 25 septembrie 2019 20:30:22
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
int main()
{
    long long maj, k = 0, n;
    f >> n;
    vector<long long> v(n);
    for (int i = 0; i < n; i++)
    {
        f >> v[i];
        if (k == 0)
            maj = v[i], k = 1;
        else if (maj == v[i])
            k++;
        else
            k--;
    }
    k = 0;
    for (auto i : v)
        if (i == maj)
            k++;
    if (k >= n / 2 + 1)
        g << maj << " " << k;
    else
        g << -1;
    return 0;
}