Cod sursa(job #2262777)

Utilizator NashikAndrei Feodorov Nashik Data 17 octombrie 2018 20:05:13
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
//#include <iostream>
#include <fstream>
using namespace std;
int v[1000005];
int main()
{
    ifstream cin("elmaj.in");
    ofstream cout("elmaj.out");
    int ok=0;
    ///ok=1---> 1 nr
    ///ok=0---> 0 nr
    int n,a,cnt1=0,k1;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a;
        v[i]=a;
        if(ok==0){
            cnt1=1;
            k1=a;
            ok=1;
        }
        else{
            if(k1==a){
                cnt1++;
            }
            else
                cnt1--;
            if(cnt1==0)
                ok=0;
        }
    }
    if(ok==0){
        cout<<-1;
        return 0;
    }
    cnt1=0;
    for(int i=1;i<=n;i++)
        if(v[i]==k1)
            cnt1++;
    if(cnt1>=n/2+1)
        cout<<k1<<" "<<cnt1;
    else
        cout<<-1;
    return 0;
}