Cod sursa(job #2566169)

Utilizator florinrafiliuRafiliu Florin florinrafiliu Data 2 martie 2020 19:17:08
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <fstream>
using namespace std;

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

int n, i, x, c;
int v[1000001];

int main()
{
    fin >> n;
    fin >> v[1];
    x = v[1];
    c = 1;
    for(i = 2; i <= n; i++)
    {
        fin >> v[i];
        if(v[i] == x)
            c++;
        else
        {
            c--;
            if(c == 0)
            {
                x = v[i];
                c = 1;
            }
        }
    }
    c = 0;
    for(i = 1; i <= n; i++)
    {
        if(v[i] == x)
            c++;
    }
    if(c >= n / 2 +1)
        fout << x << " " << c;
    else
        fout << "-1";
    return 0;
}