{"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":"\u003cscript type\u003d\u0027text/x-mathjax-config\u0027\u003eMathJax.Hub.Config({tex2jax: { inlineMath: [[\u0027$\u0027,\u0027$\u0027]] } }); \u003c/script\u003e\n\u003cscript type\u003d\u0027text/javascript\u0027 src\u003d\u0027https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config\u003dTeX-AMS-MML_HTMLorMML\u0027\u003e\u003c/script\u003e\n\u003cscript type\u003d\u0027text/javascript\u0027\u003esetTimeout(function(){MathJax.Hub.Queue([\u0027Typeset\u0027, MathJax.Hub, \u0027left_view\u0027]);}, 2000);\u003c/script\u003e\n\u003cdiv class\u003d\"panel_content\"\u003e\nLBW很喜欢玩一种战略游戏,在一个地图上,有N座城堡,每座城堡都有一定的B站鸽子,在每次游戏中LBW允许在开挂的情况下攻克M个城堡并获得里面的B站鸽子(原UP主)。但由于地理位置原因,有些城堡不能直接攻克,要攻克这些城堡必须先攻克其他某一个特定的城堡。你能帮LBW算出要获得尽量多的鸽子应该攻克哪M个城堡吗?\n \u003cbr\u003e\n\u003c/div\u003e"}},{"title":"输入","value":{"format":"HTML","content":"每个测试实例首先包括2个整数,N,M.(1 \u0026lt;\u003d M \u0026lt;\u003d N \u0026lt;\u003d 200);在接下来的N行里,每行包括2个整数,a,b. 在第 i 行,a 代表要攻克第 i 个城堡必须先攻克第 a 个城堡,如果 a \u003d 0 则代表可以直接攻克第 i 个城堡。b 代表第 i 个城堡的鸽子数量, b \u0026gt;\u003d 0。当N \u003d 0, M \u003d 0输入结束。"}},{"title":"输出","value":{"format":"HTML","content":"对于每个测试实例,输出一个整数,代表LBW攻克M个城堡所获得的最多鸽子的数量。"}},{"title":"样例输入","value":{"format":"HTML","content":"\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"}},{"title":"样例输出","value":{"format":"HTML","content":"\u003cpre\u003e5\n13\u003c/pre\u003e"}}]}