Cod sursa(job #1164194)

Utilizator ErikHEErik Henning ErikHE Data 1 aprilie 2014 22:11:36
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.58 kb
#include <fstream>
#include <iostream>
using namespace std;

int n,k,v[1000005],i,tmp;

int main() {
    ifstream f("elmaj.in");
    ofstream g("elmaj.out");
    f>>n;
    for(i=1;i<=n;i++)
        f>>v[i];
    k=0;tmp=-1;
    for(i=1;i<=n;i++)
        if(k==0) {
            tmp=v[i];
            k++;
        }
        else
        if(tmp==v[i])
            k++;
        else
            k--;
    k=0;
    for(i=1;i<=n;i++)
        if(tmp==v[i])
            k++;
    if(k>=n/2+1)
        g<<tmp<<" "<<k<<"\n";
    else
        g<<"-1"<<endl;
    return 0;
}