Cod sursa(job #424518)

Utilizator erzsikeRusz Elisabeta erzsike Data 24 martie 2010 21:54:46
Problema Secventa Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.82 kb
program secventa;
var f:text;
    n,k,i,e,v:longint;
    s,d,min,max,cds:longint;
    t,c:array[1..500000] of longint;
begin
assign(f,'secventa.in');reset(f);
readln(f,n,k);
for i:=1 to n do begin
    read(f,t[i]);
end;
s:=1;
d:=1;
c[d]:=1;
for i:=2 to k-1 do begin
    while (t[i]<=t[c[d]]) and(d>=s) do
       dec(d);
    c[d+1]:=i;
end;
max:=t[c[s]];
e:=1;
v:=k;
for i:=k to n do begin
         cds:=c[s];
         while c[s]+k<=i do
            inc(s);
         while (t[i]<=t[c[d]]) and (d>=s) do
            dec(d);
         c[d+1]:=i;
         if cds<>c[s] then
            if t[c[s]]>max then begin
                max:=t[c[s]];
                v:=i;
                e:=i-k+1;
            end;
end;
close(F);
assign(f,'secventa.out');rewrite(f);
write(f,e,' ',v,' ',max);
close(f);
end.