Cod sursa(job #1488970)

Utilizator BlackREzRadut Alexandru Catalin BlackREz Data 20 septembrie 2015 12:26:56
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int v[1000001],n;
int main()
{
    ifstream f("elmaj.in");
    ofstream g("elmaj.out");
    int i,val,ap=0;
    f>>n;
    for(i=1;i<=n;i++)
        f>>v[i];
    val=-1;
    for(i=1;i<=n;i++){
        if(v[i]!=val){
            ap--;
            if(ap<0){
                val=v[i];
                ap=1;
            }
        }
        else ap++;
    }
    ap=0;
    for(i=1;i<=n;i++)
        if(v[i]==val)ap++;
    if(ap>=n/2+1) g<<val<<' '<<ap;
    else g<<"-1";
    return 0;
}