测试结果2: 运行错误|普通保护错误
测试结果3: 运行错误|普通保护错误
测试结果4: 运行错误|普通保护错误
测试结果5: 运行错误|普通保护错误
测试结果6: 运行错误|普通保护错误
测试结果7: 运行错误|普通保护错误
测试结果8: 运行错误|普通保护错误
测试结果9: 运行错误|普通保护错误
测试结果10: 运行错误|普通保护错误
提交代码: view sourceprint?
type arr=array[1..10000] of longint;
var n,k,l,r,i,j,h,t,f,tot:longint;
a,sum:arr;
procedure px(var a:arr;var n:longint);
var i,j:longint; f:boolean;
begin
if n=1 then a[1]:=tot
else
begin
f:=false;i:=0;
repeat
inc(i);
if tot>a[i] then
begin
if n<k then
begin
for j:=n-1 downto i do
a[j+1]:=a[j];
a[i]:=tot;
f:=true;
end
else begin
for j:=n-1 downto i do
a[j+1]:=a[j];
a[i]:=tot;
f:=true;
end;
if i>n then exit;
end;
until f;
end;
end;
begin
readln(n,k,l,r);
for i:=1 to n do readln(a[i]);
for i:=1 to k do sum[i]:=-32000;
t:=1;
for i:=1 to n do
begin
tot:=0;h:=0;
for j:=i to n do
begin
inc(tot,a[j]);
inc(h);
if (h<=r)and(h>=l) then
begin
px(sum,t);
if t<k then inc(t);
end
else if h>r then break;
end;
end;
tot:=0;
for i:=1 to n do
if sum[i]=-32000 then tot:=tot
else tot:=sum[i]+tot;
write(tot);
end.