Pagini recente » Cod sursa (job #877139) | Cod sursa (job #812279) | Cod sursa (job #1129404) | Cod sursa (job #950714) | Cod sursa (job #169788)
Cod sursa(job #169788)
var a,b:array [1..50000] of integer;
s:array[1..75000] of char;
x:string;
n,k,i,j,st,dr,max,p,u,t,l,z:longint;
f,g:text;
begin
assign(f,'secventa.in');reset(f);
assign(g,'secventa.out');rewrite(g);
readln(f,n,k);
readln(f,s);
i:=1;
t:=0;
x:=s;
l:=length(s);
while i<=l do begin
z:=1;
inc(t);
if s[i]='-' then begin
z:=-1;
inc(i);
end;
while (s[i]<>' ') and (i<=l) do begin
a[t]:=a[t]*10+ord(s[i])-48;
inc(i);
end;
a[t]:=a[t]*z;
inc(i);
end;
st:=2;
dr:=1;
b[1]:=-31000;
max:=-maxlongint;
for i:=1 to n do begin
if (i>k) and (b[st]=a[i-k]) then inc(st);
inc(dr);
b[dr]:=a[i];
for j:=dr-1 downto st-1 do begin
if not (b[j]>a[i]) then break;
end;
dr:=j+1;
b[dr]:=a[i];
if (i>=k) and (b[st]>max) then begin
p:=i-k+1;
u:=i;
max:=b[st];
end;
end;
write(g,p,' ',u,' ',max);
close(f);
close(g);
end.