Cod sursa(job #1879464)

Utilizator LivcristiTerebes Liviu Livcristi Data 14 februarie 2017 21:59:34
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#include <iostream>
using namespace std;
static long long v[1000000];
int main(){
ifstream f("elmaj.in");
ofstream g("elmaj.out");
long n,i,indic=1,maj=0;
f>>n>>v[0];
maj=v[0];
for(i=1; i<n; i++){
    f>>v[i];
    if(v[i]!=maj) indic--;
    else if(v[i]==maj) indic++;
    if(indic==0){
        maj=v[i];
        indic=1;
    }
}
if(indic>0){
    indic=0;
    for(i=0; i<n; i++)
        v[i]==maj ? indic++ : 0;
    if(indic>=(n/2+1))
        g<<maj<<' '<<indic;
    else g<<"-1";
}
else g<<"-1";
f.close();
g.close();
}