#donutslive20145. [donuts_live2014_5]お菓子やさん
[donuts_live2014_5]お菓子やさん
問題文
幼少のパンチくんは、全部で 店あるお菓子やさんを巡ろうとしています。
このうちのいくつかの店では、スタンプをカードに押してもらえます。その店のスタンプがあると、さらに別のいくつかの店で、ボーナスのお菓子がもらえるというシステムです。
ただし、パンチくんは一度行った店には 回行きたくありません。そのため、例えば
- 店 のスタンプがあると、店 でお菓子が 個もらえる
- 店 のスタンプがあると、店 でお菓子が 個もらえる
という つの条件が重なっている場合 、どちらかのお菓子を諦めなければいけません。この場合、後者を諦めて、前者の 個のお菓子をもらうのが得です。
パンチくんがもらえるお菓子の最大値はいくらでしょうか。
入力
入力は以下の形式で標準入力から与えられる。
:
- 行目には、お菓子屋さんの数を表す整数 と、お菓子をもらえる店舗関係の数を表す整数 がスペース区切りで与えられる。
- 行目から 行では、お菓子をもらえる店舗関係の情報が与えられる。
このうち 行目では、 つの整数 , , が与えられる。
これらは、「店 のスタンプがあると、店 にて、お菓子が 個もらえる」ということを表している。 - のとき、 または であることが保障されている。
部分点
を満たすテストケースに正解した場合、部分点として 点が与えられる。
出力
パンチくんがもらえるお菓子の最大値を、 行で出力せよ。出力の末尾には改行をいれること。
入力例1
2 2
1 2 3
2 1 2
出力例1
3
問題文に記載されている例です。
入力例2
4 3
1 2 10
1 3 20
1 4 30
出力例2
60
全てのお菓子をもらうことが出来ます。
入力例3
3 3
1 2 20
2 3 30
3 1 10
出力例3
50
個のお菓子を諦めることで、最大値を得ます。
入力例4
16 1
4 4 1000
出力例4
0
同じ店に 回行くことはできないので、お菓子はもらえません。また、このスタンプサービスと関係ない店がいくつかあることもあります。
入力例5
4 6
4 1 3
1 3 3
4 2 3
3 4 2
2 3 3
2 2 10
出力例5
12