Cod sursa(job #2236049)

Utilizator FunnyStockyMihnea Andreescu FunnyStocky Data 27 august 2018 22:48:26
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>

using namespace std;

ifstream cin("elmaj.in");
ofstream cout("elmaj.out");

int v[1000000+5];

int main()
{
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
        cin>>v[i];
    int winner=v[0],vot=1;
    for(int i=1;i<n;i++)
        if(v[i]==winner)
            vot++;
        else
        {
            if(vot==0)
            {
                winner=v[i];
                vot=1;
            }
            else
                vot--;
        }
    int have=0;
    for(int i=0;i<n;i++)
        if(v[i]==winner)
            have++;
    if(have>=n/2+1)
        cout<<winner<<" "<<have<<"\n";
    else
        cout<<"-1\n";
    return 0;
}