Cod sursa(job #2649335)

Utilizator redstonegamer22Andrei Ion redstonegamer22 Data 14 septembrie 2020 14:20:01
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <bits/stdc++.h>

using namespace std;

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

int v[1000000 + 7];

int main()
{
    int n; in >> n;


    int cnt_number = -1, cnt_sum = 0;
    for(int i = 0; i < n; i++)
    {
        in >> v[i];

        if(cnt_number != v[i])
        {
            cnt_sum --;
            if(cnt_sum < 0)
            {
                cnt_sum = 1;
                cnt_number = v[i];
            }
        }
        else
        {
            cnt_sum ++;
        }
    }

    cnt_sum = 0;
    for(int i= 0; i < n; i++)
    {
        cnt_sum += (v[i] == cnt_number);
    }

    if(cnt_sum >= (n/2 + 1))
    {
        out << cnt_number << " " << cnt_sum << endl;
    }
    else
    {
        out << "-1\n";
    }
}