Cod sursa(job #1110327)

Utilizator xtreme77Patrick Sava xtreme77 Data 17 februarie 2014 23:06:29
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
#define MAX 1000100
using namespace std;
int ap,c,n,i;
int v[MAX];
int main()
{
    ifstream in("elmaj.in");
    ofstream out("elmaj.out");
    in>>n;
    in>>c;
    v[1]=c;
    for(i=2;i<=n;i++)
    {
        in>>v[i];
        if(c==v[i])
        ap++;
        else
            if(ap-1>0)ap--;
        else
            if (ap-1==0){ap=0;c=v[i];}
        else
            if(!ap)c=v[i];
    }
    ap=0;
    for(i=1;i<=n;i++)
        if(c==v[i])
            ap++;
    if(ap>=n/2+1)out<<c<<" "<<ap<<endl;
    else out<<"-1"<<endl;
    return 0;
}