Cod sursa(job #2263444)

Utilizator SqueekDanielTodasca Daniel SqueekDaniel Data 18 octombrie 2018 18:06:51
Problema Elementul majoritar Scor 80
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <bits/stdc++.h>

std::ifstream InFile("elmaj.in");
std::ofstream OutFile("elmaj.out");

int N;
int X, Candidat, Cnt;

void Citire() {
    InFile >> N;
}

void Rezolvare() {
    Candidat = -1;

    while(N--) {
        InFile >> X;
        if (X == Candidat)
            Cnt ++;
        else
            Cnt--;

        if(Cnt<0)
            Candidat = X,
            Cnt = 1;
    }   InFile.close();

    InFile.open("elmaj.in");
    InFile >> N;

    Cnt = 0;
    while(N--) {
        InFile >> X;
        if (X == Candidat) Cnt++;
    }

    if (Cnt >= (N+1)/2) OutFile << Candidat << ' ' << Cnt << '\n';
    else OutFile << "-1\n";
}

int main()
{
    Citire();
    Rezolvare();

    return 0;
}