{"problem":{"name":"灭罪「正直者之死」","description":{"content":"有一台计算器，使用 $k$ 位的带符号整型来对数字进行存储。也就是说，一个变量能够表示的范围是 $[-2^{k-1},2^{k-1})$。现在我们希望使用该计算器计算一系列数 $a_1,a_2,\\cdots,a_n$ 的和。计算的伪代码如下： ![](https://cdn.luogu.com.cn/upload/image_hosting/7p0loptk.png) 由于奇怪的特性，如果两个","description_type":"Markdown"},"platform":"Luogu","limit":{"time_limit":1000,"memory_limit":131072},"difficulty":{"LuoguStyle":"P3"},"is_remote":true,"is_sync":true,"sync_url":null,"sign":"LGP9207"},"statements":[{"statement_type":"Markdown","content":"有一台计算器，使用 $k$ 位的带符号整型来对数字进行存储。也就是说，一个变量能够表示的范围是 $[-2^{k-1},2^{k-1})$。现在我们希望使用该计算器计算一系列数 $a_1,a_2,\\cdots,a_n$ 的和。计算的伪代码如下：\n\n![](https://cdn.luogu.com.cn/upload/image_hosting/7p0loptk.png)\n\n由于奇怪的特性，如果两个变量在相加时得到的结果在 $[-2^{k-1},2^{k-1})$ 之外，即发生了溢出，那么这台计算器就会卡死，再也无法进行计算了。\n\n为了防止这样的事情发生，一个变通的方法是**更改 $a_i$ 的排列顺序**。容易发现这样不会改变计算出的和的值。\n\n不过，可能不存在一种方案，使得计算出这 $n$ 个数并且计算机不爆炸。但我们还是希望，计算出**尽量多**的数字的和。\n\n## Input\n\n第一行有两个整数 $n,k$，分别表示元素个数和整型位数。\n\n第二行有 $n$ 个整数 $a_1,a_2,\\cdots,a_n$。\n\n## Output\n\n共一行一个整数，表示最多能将多少个数字计算出和。\n\n[samples]\n\n## Background\n\n正直的人，坚强不屈的人，刚正不阿的人。\n\n大约这样的人会处处吃亏吧，不过这样的观点大约是从欺骗者的眼光里看到的。正直的人，即使是在死后，也是最为人尊敬的吧。\n\n## Note\n\n### 样例解释\n\n- 对于样例 $1$，一种最优的方案是 $[a_1,a_2,a_3]$，这样可以在计算出前两个数的情况下不溢出。\n- 对于样例 $2$，一种最优的方案是 $[a_{10},a_1,a_2,a_5,a_4,a_7,a_6,a_8,a_9,a_3]$，这样可以在计算前 $9$ 个数的情况下不溢出。\n\n### 数据范围及约定\n\n对于全部数据，保证 $1\\le n\\le 500$，$1< k\\le 8$，$-2^{k-1}\\le a_i<2^{k-1}$。","is_translate":false,"language":"English"}],"meta":{"iden":"LGP9207","tags":["贪心","传智杯"],"sample_group":[["3 3\n1 2 3\n","2\n"],["10 4\n-3 5 6 -4 5 3 -4 1 -1 0","9"]],"created_at":"2026-03-03 11:09:25"}}