Cod sursa(job #2264356)

Utilizator XDBerryBerindean Razvan XDBerry Data 20 octombrie 2018 08:29:15
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <iostream>
#include <fstream>
#include <stack>

using namespace std;

stack<int> s;

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

int n,c[1000001],nr,el;


int main()
{

    in>>n;
    for(int i=1;i<=n;++i)
    {
        in>>c[i];
        if(s.size()==0||s.top()==c[i])
            s.push(c[i]);
        else
            if(s.top()!=c[i])
                s.pop();
    }
    el=s.top();

    for(int i=1;i<=n;i++)
    {
        if(c[i]==el)
            nr++;
    }
    if(nr>n/2)
        out<<el<<" "<<nr;
    else
        out<<-1;
    return 0;
}