Cod sursa(job #2104299)

Utilizator Claudiu_SimaClaudiu Sima Claudiu_Sima Data 11 ianuarie 2018 15:49:53
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
vector<long> v;
int n,i;
void citire(){
    f>>n;
    for(i=0;i<n;++i){
        long x;f>>x;
        v.push_back(x);
    }
}
void solutie(){
    int nr=-1,k=0;
    for(i=0;i<n;++i)
        if(!k){
            nr=v[i];
            k=1;
        }else if(v[i]==nr)
            k++;
        else
            k--;
    if(nr<0)
        g<<nr;
    k=0;
    for(i=0;i<n;++i)
        if(v[i]==nr)
            k++;
    if(k>=n/2+1)
        g<<nr<<" "<<k;
    else
        g<<-1;
}
int main(){
    citire();
    solutie();
    return 0;
}