编程题
### 问题描述 在浩浩的魔法世界中,有 $ N $ 种不同类型的魔法石,每种类型的魔法石有一个独特的大小。第 $ i $ 种类型的魔法石的大小为 $ S_i $,并且初始时浩浩有 $ C_i $ 块这种大小的魔法石。 浩浩可以通过魔法进行任意次数的魔法石合成,以减少魔法石的总数。每次合成的过程如下: - 选择两块大小相同的魔法石,大小为 $ X $,合成后会得到一块大小为 $ 2X $ 的新魔法石,并且原来的两块魔法石消失。 浩浩的目标是通过合成,使得最终的魔法石数量尽可能少。请问通过优化合成顺序后,浩浩能得到的最小魔法石数量是多少? ### 输入格式 第一行包含一个整数 $ N $,表示不同类型的魔法石的数量。 接下来的 $ N $ 行,每行包含两个整数 $ S_i $ 和 $ C_i $,分别表示第 $ i $ 种魔法石的大小和数量。 ### 输出格式 输出通过合成后能得到的最小魔法石数量。 ### 样例输入 ``` 3 3 3 5 1 6 1 ``` ### 样例输出 ``` 3 ``` ### 评测数据规模 - $ 1 \leq N \leq 10^5 $ - $ 1 \leq S_i \leq 10^9 $ - $ 1 \leq C_i \leq 10^9 $ - 所有的 $ S_i $ 互不相同。 - 所有输入值为整数。
查看答案
赣ICP备20007335号-2