#5227. Knapsack with Diminishing Values

0

Knapsack with Diminishing Values

Knapsack with Diminishing Values

题目描述

有 NN 种物品。第 ii 种物品的重量是 wiw_i,价值是 viv_i。每种物品都有 101010^{10} 个可用。 Takahashi 将选择一些物品放入容量为 WW 的背包。他想在避免选择过多同一类型物品的前提下使所选物品的总价值最大化。因此,他将选择第 ii 种物品 kik_i 个时的幸福度定义为 kivi−ki2k_i v_i - k_i^2。他想在总重量不超过 WW 的条件下选择物品以使所有类型的幸福度总和最大化。计算他能获得的最大总幸福度。

输入格式

输入从标准输入按以下格式给出: NN WW w1w_1 v1v_1 w2w_2 v2v_2 ⋮\vdots wNw_N vNv_N

输出格式

输出答案。

2 10
3 4
3 2
5
3 6
1 4
2 3
2 7
14
1 10
1 7
12

提示

1≤N≤30001 \leq N \leq 3000 1≤W≤30001 \leq W \leq 3000 1≤wi≤W1 \leq w_i \leq W 1≤vi≤1091 \leq v_i \leq 10^9 所有输入值均为整数。通过选择第 11 种物品 22 个和第 22 种物品 11 个,总幸福度可以是 55,这是最优的。 这里,第 11 种的幸福度是 2×4−22=42 \times 4 - 2^2 = 4,第 22 种的幸福度是 1×2−12=11 \times 2 - 1^2 = 1。 总重量是 99,在容量 1010 以内。

标签: AtCoder|abc373F

来源

AtCoder|abc373F