Cod sursa(job #1400890)

Utilizator Stefan.Andras Stefan Stefan. Data 25 martie 2015 15:30:37
Problema Elementul majoritar Scor 60
Compilator fpc Status done
Runda Arhiva educationala Marime 1.19 kb
program elmmajoritar;
const nmax = 1000001;
type vector = array[1..nmax] of longint;
var f,g:text;
    n,probabil,i,contor:longint;
    v:vector;
    bufin,bufout:array[1..1 shl 16] of byte;
begin
        assign(f,'elmaj.in'); reset(f);
        assign(g,'elmaj.out'); rewrite(g);
        settextbuf(f,bufin); settextbuf(f,bufout);
        readln(f,n);
        read(f,v[1]);
        probabil:=v[1]; contor:=0;
        for i:=2 to n do
                begin
                read(f,v[i]);
                if v[i] = probabil then
                        inc(contor)
                   else
                        begin
                        dec(contor);
                        if contor = 0 then
                                begin
                                probabil:=v[i];
                                contor:=1;
                                end;
                        end;
                end;
        contor:=0;
        for i:=1 to n do
                if v[i] = probabil then inc(contor);
        if contor >= (n div 2) + 1 then
                writeln(g,probabil,' ',contor)
           else
                writeln(g,'-1');
        close(f); close(g);
end.