Cod sursa(job #678547)

Utilizator Buzu_Tudor_RoCont vechi Buzu_Tudor_Ro Data 11 februarie 2012 21:54:29
Problema Elementul majoritar Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.92 kb
Program p2;
var fi,fo : text;
    i,n,nr,maj: longint;
    a:array[0..1000000] of longint;

begin
    assign(fi,'elmaj.in'); reset(fi); readln(fi,n);
    assign(fo,'elmaj.out'); rewrite(fo);

    read(fi,a[1]);
    nr:=1; maj:=a[1];
    for i:=2 to n do begin
                     read(fi,a[i]);
                     if a[i]=maj then nr:=nr+1
                                 else begin
                                      nr:=nr-1;
                                      if nr<0 then begin
                                                   nr:=1;
                                                   maj:=a[i];
                                                   end;
                                      end;
                     end;
    nr:=0;
    for i:=1 to n do if a[i]=maj then nr:=nr+1;
    if nr<(n div 2)+1 then write(fo,'-1')
                      else write(fo,maj,' ',nr);

    close(fi); close(fo);
end.