Cod sursa(job #771855)

Utilizator t.g.g.tt.g.g.t t.g.g.t Data 27 iulie 2012 12:31:35
Problema Secventa Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.6 kb
var a,b:array[1..500000]of integer; i,n,k,p,u,m:longint; f:text;
buf,buf2:array[1..1 shl 18]of char;
begin
assign(input,'secventa.in'); reset(input); settextbuf(input,buf);
readln(n,k);
for i:=1 to n do read(a[i]);
p:=1; u:=0; m:=1;
for i:=1 to n do
  begin
    while (p<=u) and (a[i]<a[b[u]]) do u:=u-1;
    u:=u+1;
    b[u]:=i;
    if (b[p]=i-k) then p:=p+1;
    if i>=k then m:=b[p];
  end;
assign(output,'secventa.out'); rewrite(output); settextbuf(output,buf2);
i:=m;
while (a[i+1]>=a[m]) and (i<n) do inc(i);
while a[i]>=a[m] do begin write(a[i],' '); i:=i-1; end;
close(output);
end.