Pagini recente » Cod sursa (job #803109) | Cod sursa (job #612774) | Cod sursa (job #2898125) | Cod sursa (job #3204021) | Cod sursa (job #579100)
Cod sursa(job #579100)
const f = 'secventa.in'; g = 'secventa.out';
var
max, k, n, i : longint;
poz, ls, ld : longint;
v, d : array[0..500005] of longint;
begin
assign( input,f ); reset( input );
assign( output,g ); rewrite( output );
readln( n, k );
for i := 1 to n do read( v[i] );
ls := 1; ld := 0;
for i := 1 to k - 1 do begin
while ( ls <= ld ) and ( v[i] <= v[ d[ld] ] ) do dec( ld );
inc( ld );
d[ld] := i;
end;
max := -31000;
for i := k to n do begin
while (ls <= ld ) and ( v[i] <= v[ d[ld] ] ) do dec( ld );
inc ( ld ); d[ld] := i;
while (ls <= ld ) and ( d[ls] < i - k + 1 ) do inc( ls );
if v[ d[ls] ] > max then begin
max := v[ d[ls] ] ;
poz := i;
end;
end;
writeln( poz - k + 1,' ',poz,' ',max );
end.