Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- mod = 998_244_353
- n = int(input())
- a = list(map(int, input().split()))
- median = [[0] * n for _ in range(n)]
- for i in range(n):
- vals = []
- for j in range(i, n):
- vals.append(a[j])
- vals.sort()
- median[i][j] = vals[(len(vals) - 1) // 2]
- dp = [[0] * n for _ in range(n + 1)]
- for i in range(n):
- for k in range(i + 1):
- if k == 0:
- dp[k + 1][i] = median[0][i]
- for j in range(i):
- dp[k + 1][i] = max(dp[k + 1][i], dp[k][j] * median[j + 1][i])
- for k in range(1, n + 1):
- print(dp[k][n - 1] % mod)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement