const MAXN = 10 var dp: array[MAXN, int] proc `[]=`[T; U: Ordinal](arr: var openArray[T]; slice: Slice[U] | seq[U]; value: sink T) {.inline.} = for idx in slice: arr[idx] = value when isMainModule: let n = 8 dp[1..8] = -1 # initialize dp array echo dp