Cod sursa(job #674445)

Utilizator zloteanu.adrianzloteanu adrian nichita zloteanu.adrian Data 6 februarie 2012 11:23:30
Problema Elementul majoritar Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<fstream>
#include<algorithm>
using namespace std;
int cate,n,v[1000000];
int main()
{
    ifstream q("elmaj.in");
    ofstream w("elmaj.out");
    q>>n;
    for(int i=1; i<=n; i++)
    {
        q>>v[i];
    }
    int posM=v[1],apM=1;
    for(int i=2;i<=n;i++)
    {
        if(v[i]==posM) {
            apM++;
        }
        else {
            apM--;
            if(apM==-1) posM=v[i];
            apM=1;
        }
    }
    apM=0;
    for(int i=1;i<=n;i++) {
        if(posM==v[i])
        apM++;
    }
    if(apM>=n/2+1) {
        w<<posM<<" "<<apM;
        return 0;
    }
    w<<-1;
    return 0;
}