Cod sursa(job #2782187)

Utilizator andrei_srbnSerban Andrei andrei_srbn Data 11 octombrie 2021 20:24:02
Problema Elementul majoritar Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <bits/stdc++.h>
#define N 1000000

using namespace std;

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

int a[N],n;
void citire()
{
    fin>>n;
    for(int i=1; i<=n; i++)
        fin>>a[i];
}
void aparitie()
{
    int i,e,ap;
    e=a[1];
    ap=1;
    for(i=2; i<=n; i++)
        if(a[i]!=e&&ap>=1)
            ap--;
        else if(ap==0)
        {
            e=a[i];
            ap=1;
        }

        else ap++;
    ap=0;
    for(i=1; i<=n; i++)
        if(e==a[i])
            ap++;
    if(ap>=n/2+1)
        fout<<e<<" "<<ap;
    else fout<<-1;

}
int main( )
{

    citire();
    aparitie();


    return 0;
}