Cod sursa(job #2855664)

Utilizator norryna07Alexandru Norina norryna07 Data 22 februarie 2022 18:58:48
Problema Elementul majoritar Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#define N 1000005
using namespace std;

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

int a[N], n;

int main()
{
    fin>>n;
    for (int i=1; i<=n; ++i) fin>>a[i];
    int x, nr;
    x=a[1]; nr=1;
    for (int i=2; i<=n; ++i)
    {
        if (a[i]==x) nr++;
        else if (nr>0) nr--;
             else {x=a[i]; nr=1;}
    }
    ///pentru x verificam daca acesta apare de n/2+1 ori
    nr=0;
    for (int i=1; i<=n; ++i)
        if (a[i]==x) nr++;
    if (nr>=n/2+1) fout<<x;
    else fout<<-1;
    return 0;

}