Cod sursa(job #1948138)

Utilizator DryCookerDordea Dragos DryCooker Data 31 martie 2017 19:08:58
Problema Elementul majoritar Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <bits/stdc++.h>

using namespace std;

int const e=1e6;

int v[e];

int main(){
    ifstream fin("elmaj.in");
    ofstream fout("elmaj.out");
    long int n, nr, aparitii=0;
    int j;
    fin>>n;
    fin>>v[0];
    for(int i=1; i<n; i++){
        fin>>nr;
        for(j=i; j>=0; j--){
            if(v[j-1]<=nr)
                break;
            else
                v[j]=v[j-1];
        }
        v[j]=nr;
    }
    for(int i=0; i<n-1; i++){
        if(v[i]==v[i+1])
            aparitii++;
        else
            aparitii=1;
        if(aparitii==n/2+1){
            j=i;
            break;
        }
    }
    if(aparitii==n/2+1)
        fout<<v[j]<<" "<<aparitii;
    else
        fout<<-1;
}