Cod sursa(job #1984923)

Utilizator borcanirobertBorcani Robert borcanirobert Data 26 mai 2017 16:03:59
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
#include <iostream>
using namespace std;

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

const int MAX = 1000005;
int a[MAX];
int N;
int nr, s;
int ap;

int main()
{
    int i;

    fin >> N >> a[1];
    nr = a[1]; s = 1;

    for ( i = 2; i <= N; i++ )
    {
        fin >> a[i];

        if ( a[i] == nr ) s++;
        else           s--;

        if ( s < 0 )
            nr = a[i], s = 1;
    }

    for ( i = 1; i <= N; i++ )
        if ( a[i] == nr )
            ap++;

    if ( s > 0 )
        fout << nr << ' ' << ap << '\n';
    else
        fout << "-1" << '\n';

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