Knapsack Expect i-th

2 secs 1024 MB
RedSpica's icon RedSpica

問題文

「旅行に行くとき,荷物はコンパクトにまとめる必要がありますね」

にぼしくんにはNN個の荷物があります.ii番目の荷物の価値はviv_iで重さはwiw_iです.また,容量がWWのカバンを11つ持っています.
明日からの旅行に備えてにぼしくんは荷造りをしなければなりませんが, 優柔不断なにぼしくんは何を持っていくかまだ決められないようです.

荷物を全部詰め込めるならそうしたいですが,現実はそううまくいくとは限りません.

そこでにぼしくんは考えました.
「これを置いていったらこれを持っていけるかも...」

以下の問いにNN回答えてください. 問iiの形式は以下の通りです.

  • i:i: 重さの総和がWW以下であって,選ばれた荷物の集合にii番目の荷物を含まないものの価値の総和の最大値

制約

  • 2N1032 \leq N \leq 10^3
  • 1W1031 \leq W \leq 10^3
  • 0vi1090 \leq v_i \leq 10^9
  • 1wi1031 \leq w_i \leq 10^3
  • 入力される値はすべて整数である

入力

入力は以下の形式で標準入力から与えられます.

NNWW
v1v_1w1w_1
v2v_2w2w_2
\vdots
vNv_NwNw_N

出力

答えをNN行に出力せよ.ii行目には問iiの答えを出力せよ.

サンプル

入力1
4 10
50 3
70 4
80 6
40 4
出力1
150
130
120
150
  • 11番目の荷物を含まないものの荷物の集合として22番目と33番目の荷物を選ぶと価値の総和は70+80=15070+80=150で重さの総和は4+6=104+6=10となります.
  • 22番目の荷物を含まないものの荷物の集合として11番目と33番目の荷物を選ぶと価値の総和は50+80=13050+80=130で重さの総和は3+6=93+6=9となります.
  • 33番目の荷物を含まないものの荷物の集合として11番目と22番目の荷物を選ぶと価値の総和は50+70=12050+70=120で重さの総和は4+6=104+6=10となります.
  • 44番目の荷物を含まないものの荷物の集合として22番目と33番目の荷物を選ぶと価値の総和は70+80=15070+80=150で重さの総和は4+6=104+6=10となります.
入力2
10 1000
775501458 530
362833899 622
552902855 55
758447415 280
481627741 689
797601219 320
746924356 667
300648492 83
906611809 100
539171652 552
出力2
3316211790
3316211790
2763308935
2557764375
3316211790
2993463537
3316211790
3015563298
2426654024
3316211790

Submit


Go (1.21)