RQ145 打水漂
发下这几天写的吧....
这题是最大子段和
{$MODE DELPHI}
const
maxn=10000;
type
int=longint;
var
i,n,ans,num,l:int;
f : array[0..maxn+1] of int;
a,fat : array[1..maxn] of int;
begin
readln(n);
for i:=1 to n do
read(a[i]);
ans:=0;
for i:=1 to n do
begin
if f[i-1]>=0 then
begin
f[i]:=f[i-1]+a[i];
fat[i]:=i-1;
end
else
begin
f[i]:=a[i];
fat[i]:=i;
end;
if f[i]>ans then
begin
ans:=f[i];
num:=i;
end;
end;
l:=num;
while fat[l]<>l do dec(l);
writeln(l,' ',num);
writeln(ans);
end.
评论 (0)