xs = [[1, 80], [3, 100], [2, 80], [3, 90], [2, 80]]
def select(ls):
ans = []
ys = sorted(xs, key=lambda x:(-x[0], -x[1]))
print(ys)
R = -1
for r, a in ys:
if r == R:
continue
ans.append((r, a))
R = r
return ans
def max_area(ls, k):
lst = select(xs)
dp = [0] * k
for i in range(len(lst)):
for j in range(k - 1, 0, -1):
dp[j] = max(dp[j], dp[j - 1] + lst[i][1])
dp[0] = max(dp[0], lst[i][1] + lst[i][0]**2)
print(dp)
return dp[k - 1]
print(max_area(xs, 3))
To embed this program on your website, copy the following code and paste it into your website's HTML: