Cod sursa(job #1101574)
| Utilizator | Data | 8 februarie 2014 18:26:22 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 95 |
| Compilator | fpc | Status | done |
| Runda | Arhiva educationala | Marime | 0.84 kb |
program subs_pd;
var a:array[0..7000000] of longint;
b1,b2:array[1..1 shl 16] of char;
n,i,bestSum,sum,left,right,idx,x:longint;
begin
assign(input,'ssm.in'); reset(input);
settextbuf(input,b1);
ASSIGN(OUTPUT,'ssm.out'); rewrite(output);
settextbuf(output,b2);
readln(n);
for i:=1 to n do begin
read(x);
if sum<0 then begin
sum:=x;
idx:=i;
end
else sum:=sum+x;
if bestsum<sum then begin
bestsum:=sum;
left:=idx;
right:=i;
end;
end;
write(bestsum,' ',left,' ',right);
close(output);
end.
