100 atcoder#ABC100D. [ABC100D] Patisserie ABC

[ABC100D] Patisserie ABC

配点: 400400

問題文

高橋君はプロのパティシエになり, AtCoder Beginner Contest 100 を記念して, 「ABC洋菓子店」というお店を開いた.

ABC洋菓子店では, NN 種類のケーキを売っている. 各種類のケーキには「綺麗さ」「おいしさ」「人気度」の 33 つの値を持ち, ii 種類目のケーキの綺麗さは xix_i, おいしさは yiy_i, 人気度は ziz_i である. これらの値は 00 以下である可能性もある.

りんごさんは, ABC洋菓子店で MM 個のケーキを食べることにした. 彼は次のように, 食べるケーキの組み合わせを選ぶことにした.

  • 同じ種類のケーキを 22 個以上食べない.
  • 上の条件を満たしつつ, (綺麗さの合計の絶対値) + (おいしさの合計の絶対値) + (人気度の合計の絶対値) が最大になるように選ぶ.

このとき, りんごさんが選ぶケーキの (綺麗さの合計の絶対値) + (おいしさの合計の絶対値) + (人気度の合計の絶対値) の最大値を求めなさい.

制約

  • NN11 以上 1 0001 \ 000 以下の整数
  • MM00 以上 NN 以下の整数
  • xi,yi,zi (1iN)x_i, y_i, z_i \ (1 \leq i \leq N) は, それぞれ 10 000 000 000-10 \ 000 \ 000 \ 000 以上 10 000 000 00010 \ 000 \ 000 \ 000 以下の整数.

入力

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

NN MM

x1x_1 y1y_1 z1z_1

x2x_2 y2y_2 z2z_2

:: ::

xNx_N yNy_N zNz_N

出力

りんごさんが選ぶケーキの (綺麗さの合計の絶対値) + (おいしさの合計の絶対値) + (人気度の合計の絶対値) の最大値を出力しなさい.

5 3
3 1 4
1 5 9
2 6 5
3 5 8
9 7 9
56

2,4,52, 4, 5 種類目のケーキを食べることを考える. そのとき, 「綺麗さ」「おいしさ」「人気度」の合計はそれぞれ次のようになる.

  • 綺麗さ:1+3+9=131 + 3 + 9 = 13
  • おいしさ:5+5+7=175 + 5 + 7 = 17
  • 人気度:9+8+9=269 + 8 + 9 = 26

このときの (綺麗さの合計の絶対値) + (おいしさの合計の絶対値) + (人気度の合計の絶対値) は 13+17+26=5613 + 17 + 26 = 56 となり, これが最大になる.

5 3
1 -2 3
-4 5 -6
7 -8 -9
-10 11 -12
13 -14 15
54

1,3,51, 3, 5 種類目のケーキを食べることを考える. そのとき, 「綺麗さ」「おいしさ」「人気度」の合計はそれぞれ次のようになる.

  • 綺麗さ:1+7+13=211 + 7 + 13 = 21
  • おいしさ:(2)+(8)+(14)=24(-2) + (-8) + (-14) = -24
  • 人気度:3+(9)+15=93 + (-9) + 15 = 9

このときの (綺麗さの合計の絶対値) + (おいしさの合計の絶対値) + (人気度の合計の絶対値) は 21+24+9=5421 + 24 + 9 = 54 となり, これが最大になる.

10 5
10 -80 21
23 8 38
-94 28 11
-26 -2 18
-69 72 79
-26 -86 -54
-72 -50 59
21 65 -32
40 -94 87
-62 18 82
638

3,4,5,7,103, 4, 5, 7, 10 種類目のケーキを食べると, 綺麗さの合計は 323-323, おいしさの合計は 6666, 人気度の合計は 249249 となる. このときの (綺麗さの合計の絶対値) + (おいしさの合計の絶対値) + (人気度の合計の絶対値) は 323+66+249=638323 + 66 + 249 = 638 となり, これが最大になる.

3 2
2000000000 -9000000000 4000000000
7000000000 -5000000000 3000000000
6000000000 -1000000000 8000000000
30000000000

ケーキの綺麗さ, おいしさ, 人気度や出力すべき値が, 32bit 整数に収まらない場合もある.