Cod sursa(job #3246437)

Utilizator inacioataCioata Ana Irina inacioata Data 3 octombrie 2024 01:18:00
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int a[1000005], n;

int main()
{
    int i, cand, k;
    fin >> n;
    for(i = 1; i <= n; i++)
        fin >> a[i];
    cand = a[1];
    k = 1;
    for(i = 2; i <= n; i++)
    {
        if(a[i] == cand) k++;
        else
        {
            k--;
            if (k < 0)
            {
                cand = a[i];
                k = 1;
            }
        }
    }
    k = 0;
    for(i = 1; i <= n; i++)
        if(a[i] == cand) k++;
    if(k <= n / 2) fout << "-1\n";
    else fout << cand << " " << k;
    return 0;
}