第一个代码调了很久还是80分,加完了最后取模,第二个代码是AC的,一边加一边取模。但是不知道这两个代码原理有什么大区别,错的两个点是为什么?谢谢了
第一个:
for i:=2 to n-1 do
if b[i]>0 then max:=max+b[i];
if max<b[1] then max:=b[1];
writeln(max mod p);
第二个:
f:=true;
for i:=2 to n-1 do
begin
if b[i]>0 then
begin
if not(f) then max:=(max+b[i]) mod p
else max:=max+b[i];
if max>b[1] then f:=false;
end;
end;
if not f then writeln(max)
else writeln(b[1] mod p);
那两个点WA,就是有答案输出来,没有爆范围。