Cod sursa(job #1492264)

Utilizator gabi.cristacheGabi Cristache gabi.cristache Data 27 septembrie 2015 14:44:13
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <fstream>

#define MaxN 1000005

using namespace std;

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

int N, v[MaxN], x, elmaj, count;

int main()
{
    fin >> N;

    fin >> v[1];
    elmaj = v[1];
    count = 1;
    for (int i = 2; i <= N; ++i) {
        fin >> v[i];

        if (v[i] == elmaj) {
            ++count;
        } else {
            --count;
            if (count == 0) {
                elmaj = v[i];
                count = 1;
            }
        }
    }

    count = 0;
    for (int i = 1; i <= N; ++i)
        if (elmaj == v[i])
            ++count;

    if (count > N / 2) {
        fout << elmaj << ' ' << count << '\n';
    } else {
        fout << "-1\n";
    }

    return 0;
}