17 lines
609 B
Plaintext
17 lines
609 B
Plaintext
divert(-1)
|
|
define(`setrange',`ifelse(`$3',`',$2,`define($1[$2],$3)`'setrange($1,
|
|
incr($2),shift(shift(shift($@))))')')
|
|
define(`asize',decr(setrange(`a',1,-1,-2,3,5,6,-2,-1,4,-4,2,-1)))
|
|
define(`get',`defn(`$1[$2]')')
|
|
define(`for',
|
|
`ifelse($#,0,``$0'',
|
|
`ifelse(eval($2<=$3),1,
|
|
`pushdef(`$1',$2)$4`'popdef(`$1')$0(`$1',incr($2),$3,`$4')')')')
|
|
define(`maxsum',0)
|
|
for(`x',1,asize,
|
|
`define(`sum',0)`'for(`y',x,asize,
|
|
`define(`sum',eval(sum+get(`a',y)))`'ifelse(eval(sum>maxsum),1,
|
|
`define(`maxsum',sum)`'define(`xmax',x)`'define(`ymax',y)')')')
|
|
divert
|
|
for(`x',xmax,ymax,`get(`a',x) ')
|