Cod sursa(job #2354234)

Utilizator BogdanRazvanBogdan Razvan BogdanRazvan Data 25 februarie 2019 01:23:29
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#define nmax 1000005
using namespace std;
ifstream fin ("elmaj.in");
ofstream fout ("elmaj.out");
int a[nmax];
int main()
{
    int n, ans, freq = 0;
    fin >> n;
    for(int i = 1; i <= n; i++) fin >> a[i];
    ans = a[1];
    for(int i = 1; i <= n; i++) {
        if(a[i] == ans) ++freq;
            else --freq;
        if(freq == 0) ans = a[i], freq = 1;
    }
    freq = 0;
    for(int i = 1; i <= n; i++) if(ans == a[i]) ++freq;
    if(freq >= n / 2 + 1) fout << ans << " " << freq;
    else fout << "-1";
    return 0;
}