Cod sursa(job #1175356)

Utilizator alex_mustaineDumitru Alex alex_mustaine Data 24 aprilie 2014 19:41:42
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>
using namespace std;
#define MAX 1000000
int v[MAX], n, maj=-1, ap;
int main()
{
    int i;
    ifstream fin("elmaj.in");
    ofstream fout("elmaj.out");
    fin>>n;
    for(i=1; i<=n; i++){
        fin>>v[i];
        if(v[i]==maj)
            ap++;
        else
            if(ap==0){
                maj = v[i];
                ap = 1;
            }
            else
                ap--;
    }
    ap=0;
    for(i=1; i<=n; i++)
        if(v[i]==maj) ap++;
    if(ap>=n/2+1)
        fout<<maj<<" "<<ap;
    else
        fout<<"-1";
}