($n,$d,$k)=glob<>; @x=<>; for$i(0..0x1ffff){ $x0=$x[$i<<1|0]; $x1=$x[$i<<1|1]; $x[$i|0x20000]=$x0<$x1?$x0:$x1; } sub f{ my($i,$j)=@_; my$b=1e9; while(1){ if($i&1){ $b=$x[$i] if $b>$x[$i]; ++$i; } if(!($j&1)){ $b=$x[$j] if $b>$x[$j]; --$j; } last if $i>=$j; $i=0x20000|$i>>1; $j=0x20000|$j>>1; } $b; } $b=0; for$i(0..$n-1){ $z=f($j=$i-$d<0?0:$i-$d,$i); $c=$x[$i]- f($j=$i-$d<0?0:$i-$d,$i); $b=$c,$j1=$i if $b<$c; } if($b){ for($j1-$d..$j1){ $j0=$_,last if $b==$x[$j1]-$x[$_] } print $b*$k,$/,$j0,$",$j1; }else{ print 0; }