Cod sursa(job #1640495)

Utilizator horatiuchevalHoratiu Cheval horatiucheval Data 8 martie 2016 17:59:52
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <fstream>
using namespace std;

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

    int n, a[1000001], c = -1, nr = 0;
    fin>>n;
    for(int i = 1; i <= n; i++){
        fin>>a[i];
        if(c == -1) c = a[i];
        if(a[i] == c){
            nr++;
        }else if(a[i] != c){
            nr--;
        }
        if(nr == 0){
            c = a[i];
            nr = 1;
        }
    }

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

    fin.close();
    fout.close();
    return 0;
}