Cod sursa(job #2205059)

Utilizator ianiIani Biro iani Data 17 mai 2018 19:55:21
Problema Elementul majoritar Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include <iostream>
#include <fstream>

using namespace std;

int a[1000001];

int main()
{
    ifstream fin ("elmaj.in");
    ofstream fout ("elmaj.out");
    int n,i,j,nr,val;
    fin>>n;
    for (int i=0; i<n; i++)
        fin>>a[i];
    for (int i=0; i<n-1; i++)
        for (int j=i+1; j<n; j++)
            if (a[i]>a[j])
            {
                int aux=a[i];
                a[i]=a[j];
                a[j]=aux;
            }
    i=n/2;
    j=i;
    nr=1;
    val=a[i];
    while(true)
    {
        bool ok=false;
        if (i<n-1&&a[i+1]==a[i])
        {
            i++;
            nr++;
            ok=true;
        }
        if (j>0&&a[j-1]==a[j])
        {
            j--;
            nr++;
            ok=true;
        }
        if (!ok)
            break;
    }
    if (nr>n/2)
        fout<<val<<' '<<nr<<'\n';
    else
        fout<<"-1\n";
    return 0;
}