{"trustable":false,"prependHtml":"\u003cscript\u003e window.katexOptions \u003d { disable: true }; \u003c/script\u003e\n\u003cscript type\u003d\"text/x-mathjax-config\"\u003e\n MathJax.Hub.Config({\n tex2jax: {\n inlineMath: [[\u0027$$$\u0027,\u0027$$$\u0027], [\u0027$\u0027,\u0027$\u0027]],\n displayMath: [[\u0027$$$$$$\u0027,\u0027$$$$$$\u0027], [\u0027$$\u0027,\u0027$$\u0027]]\n }\n });\n\u003c/script\u003e\n\u003cscript async src\u003d\"https://mathjax.codeforces.org/MathJax.js?config\u003dTeX-AMS-MML_HTMLorMML\" type\u003d\"text/javascript\"\u003e\u003c/script\u003e","sections":[{"title":"","value":{"format":"HTML","content":"\u003cdiv class\u003d\"panel_content\"\u003e\n ACboy 很喜欢玩一种战略游戏,在一个地图上,有 $N$ 座城堡,每座城堡都有一定的宝物,在每次游戏中 ACboy 允许攻克 $M$ 个城堡并获得里面的宝物。但由于地理位置原因,有些城堡不能直接攻克,要攻克这些城堡必须先攻克其他某一个特定的城堡。你能帮 ACboy 算出要获得尽量多的宝物应该攻克哪 $M$ 个城堡吗?\u003cbr\u003e\n\u003c/div\u003e"}},{"title":"Input","value":{"format":"HTML","content":"每个测试实例首先包括 $2$ 个整数,$N,M(1 \\le M \\le N \\le 200)$。\u003c/p\u003e\n\n在接下来的 $N$ 行里,每行包括 $2$ 个整数,$a,b$。在第 $i$ 行,$a$ 代表要攻克第 $i$ 个城堡必须先攻克第 $a$ 个城堡,如果 $a \u003d 0$ 则代表可以直接攻克第 $i$ 个城堡。$b$ 代表第 $i$ 个城堡的宝物数量,$b \\ge 0$。\u003c/p\u003e\n\n当 $N \u003d 0, M \u003d 0$ 时,输入结束。"}},{"title":"Output","value":{"format":"HTML","content":"对于每个测试实例,输出一个整数,代表 ACboy 攻克 $M$ 个城堡所获得的最多宝物的数量。"}},{"title":"Sample","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e\u003cpre\u003e3 2\n0 1\n0 2\n0 3\n7 4\n2 2\n0 1\n0 4\n2 1\n7 1\n7 6\n2 2\n0 0\u003c/pre\u003e\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e\u003cpre\u003e5\n13\u003c/pre\u003e\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n"}}]}