Advertisement
manish

Untitled

Mar 22nd, 2023
406
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.60 KB | None | 0 0
  1. import sys
  2. input = lambda: sys.stdin.readline().rstrip("\r\n")
  3.  
  4. for t in range(int(input())):
  5.     n, k = map(int, input().split())
  6.     a = list(map(int, input().split()))
  7.     dp = [-float("inf")]*(2*n + 2)
  8.     dp[0] = 0
  9.     for _ in range(k):
  10.         dp2 = [-float("inf")]*(2*n + 2)
  11.         for i in range(_, n):
  12.             #ends at index, doesnt end at index
  13.             p, q = 2*i + 2, 2*i + 3
  14.             dp2[p] = max(dp[p-2] + a[i], dp2[p-2] + a[i], dp2[p-1] + a[i])
  15.             dp2[q] = max(dp2[p], dp2[p-2], dp[p-1] + a[i], dp[p-2] + a[i], dp2[p-1])
  16.         dp = list(dp2)
  17.     print(dp[-1])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement