最初有 N 种大小的史莱姆。
具体来说,每个 1\leq i\leq N 都有 C_i 个大小为 S_i 的史莱姆。
小X可以按照任意顺序重复史莱姆合成任意次数(可能为零)。
史莱姆的合成过程如下
- 选择两个大小相同的史莱姆。假设大小为 X ,则会出现一个大小为 2*X 的新黏液。然后,原来的两个史莱姆就会消失。
小X想尽量减少史莱姆的数量。通过最佳合成序列,他能得到的史莱姆数量最少是多少?
一个数字N,表示史莱姆的种类
接下来 N行 ,每行两个数字S_i,C_i表示 C_i 个大小为 S_i 的史莱姆。
最少的史莱姆数量
3 3 3 5 1 6 1
3
3 1 1 2 1 3 1
3
1 1000000000 1000000000
13
样例1说明:
最初有三个大小为 3 、一个大小为 5 和一个大小为 6的史莱姆。
可以进行如下两次合成:
- 首先,选择两个大小为 3 的史莱姆进行合成。这样就有一个大小为 3 的史莱姆,一个大小为 5 的史莱姆和两个大小为 6 的史莱姆。
- 接下来,选择两个大小为 6 的史莱姆进行合成。这样就会有一个大小为 3 、一个大小为 5 和一个大小为 12 的史莱姆。
无论他如何从初始状态重复合成,他都无法将史莱姆的数量减少到 2 或更少,所以你应该打印出 3 。
30%数据 1\leq N\leq 100,1\leq S_i\leq 10^3,1\leq C_i\leq 10^3
100%数据 1\leq N\leq 10^5,1\leq S_i\leq 10^9,1\leq C_i\leq 10^9
- S_1,S_2,\ldots,S_N 都是不同的。
- 所有输入值都是整数。
时间限制 | 1 秒 |
内存限制 | 128 MB |