Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,45 @@
|
|||
MODULE OvctGreatestSubsequentialSum;
|
||||
IMPORT StdLog, Strings, Args;
|
||||
|
||||
PROCEDURE Gss(iseq: ARRAY OF INTEGER;OUT start, end, maxsum: INTEGER);
|
||||
VAR
|
||||
i,j,sum: INTEGER;
|
||||
BEGIN
|
||||
i := 0; maxsum := 0; start := 0; end := -1;
|
||||
WHILE i < LEN(iseq) - 1 DO
|
||||
sum := 0; j := i;
|
||||
WHILE j < LEN(iseq) -1 DO
|
||||
INC(sum ,iseq[j]);
|
||||
IF sum > maxsum THEN
|
||||
maxsum := sum;
|
||||
start := i;
|
||||
end := j
|
||||
END;
|
||||
INC(j);
|
||||
END;
|
||||
INC(i)
|
||||
END
|
||||
END Gss;
|
||||
|
||||
PROCEDURE Do*;
|
||||
VAR
|
||||
p: Args.Params;
|
||||
iseq: POINTER TO ARRAY OF INTEGER;
|
||||
i, res, start, end, sum: INTEGER;
|
||||
BEGIN
|
||||
Args.Get(p); (* Get Params *)
|
||||
NEW(iseq,p.argc);
|
||||
(* Transform params to INTEGERs *)
|
||||
FOR i := 0 TO p.argc - 1 DO
|
||||
Strings.StringToInt(p.args[i],iseq[i],res)
|
||||
END;
|
||||
Gss(iseq,start,end,sum);
|
||||
StdLog.String("[");
|
||||
FOR i := start TO end DO
|
||||
StdLog.Int(iseq[i]);
|
||||
IF i < end THEN StdLog.String(",") END
|
||||
END;
|
||||
StdLog.String("]=");StdLog.Int(sum);StdLog.Ln;
|
||||
END Do;
|
||||
|
||||
END OvctGreatestSubsequentialSum.
|
||||
Loading…
Add table
Add a link
Reference in a new issue