Cod sursa(job #2789046)

Utilizator tryharderulbrebenel mihnea stefan tryharderul Data 26 octombrie 2021 20:20:47
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <bits/stdc++.h>

using namespace std;

const int NMAX = 1000003;

long long v[NMAX];

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

int main()
{
    int n;
    in >> n;
    for(int i = 1; i <= n; i++)
        in >> v[i];
    long long element_mojoritar = v[1];
    int cnt = 0;
    for(int i = 1; i <= n; i++) {
        if(cnt == 0)
            element_mojoritar = v[i];
        if(v[i] == element_mojoritar)
            cnt++;
        else
            cnt--;
    }
    cnt = 0;
    for(int i = 1; i <= n; i++) {
        if(v[i] == element_mojoritar)
            cnt++;
    }
    if(cnt < n/2+1) out << -1 ;
    else out << element_mojoritar << ' ' << cnt;


    return 0;
}