用PASCAL编一个 最大连续子段和的程序

来源:百度知道 编辑:UC知道 时间:2024/05/27 15:45:13
用PASCAL编一个 最大连续子段和的程序

是NOIP普及组PASCAL语言填充程序第一题吧……

我是这样填的……

1、0
2、tmp+a[i]=ans
3、<0
4、i
5、tmp:=tmp+a[i]

另:楼主下次问问题不要这样问,没参加竞赛的连是什么题都不知道……

我跟楼上的差不多。
不过第3个是<tmp

我进决赛啦
啦啦啦

哇……一样诶。。‘

1、3、5跟楼上上上一样
其他的我错了
相信楼上上上全对:
var
a:array[1..100] of integer;
n,i,ans,len,tmp,beg:integer;
begin
read(n);
for i:=1 to n do
read(a[i]);
tmp:=0;
ans:=0;
len:=0;
beg:=0;
for i:=1 to n do
begin
if tmp+a[i]>ans then
begin
ans:=tmp+a[i];
len:=i-beg;
end
else if (tmp+a[i]=ans) and (i-beg>len) then
len:=i-beg;
if tmp+a[i]<0 then
begin
beg:=i;
tmp:=0;
end
else tmp:=tmp+a[i];
end;
writeln(ans,' ',len);
end.
随便说一下,我初赛估分40分以上50分以下
恐怕就倒在了经验不足以及粗心上面了。望
楼主挺过初赛,进入复赛!!

我貌似3、