Cod sursa(job #2640150)

Utilizator proflaurianPanaete Adrian proflaurian Data 5 august 2020 14:08:05
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
const int N = 1000010;
int n, x[N], maj, ap;
int main()
{
    f>>n;

    for(int i=1;i<=n;i++)
        f>>x[i];
    for(int i=1;i<=n;i++)
    {
        if(ap)
        {
            if(x[i]==maj)
                ap++;
            else
                ap--;
        }
        else
        {
            maj=x[i];
            ap=1;
        }
    }
    ap=0;
    for(int i=1;i<=n;i++)
        if(x[i]==maj)
            ap++;
    if(ap>n-ap)
        g<<maj<<' '<<ap<<'\n';
    else
        g<<"-1\n";
    return 0;

}