2023华为od统一考试B卷【最小资金赢得最多选票】【选举拉票】C语言 实现

目录 

题目

思路

Code


题目

现在你要竞选一个县的县长。你去对每一个选民进行了调查。你已经知道每一个人要选的人是谁,以及要花多少钱才能让这个人选你。现在你想要花最少的钱使得你当上县长。你当选的条件是你的票数比任何一个其它候选人的多(严格的多,不能和他们中最多的相等)。请计算一下最少要花多少钱。

输入

单组测试数据。
第一行有一个整数 (1≤n≤10^5) ,表示这个县的选民数目。
接下来有 n 行,每一行有两个整数 ai 和 bi(0≤ai≤10^5;0≤bi≤10^4) ,表示第 i 个选民选的是第 ai 号候选人,想要让他选择自己就要花 bi 的钱。你是 0 号候选人(所以,如果一个选民选你的话 ai 就是 0 ,这个时候bi 也肯定是 0 )。

输出

输出一个整数表示花费的最少的钱。

示例1:

输入:

5
1 2
1 2
1 2
2 1
0 0

输出:

3

思路

1:这道题目的难度很大,网上搜了很多的解

猜你喜欢

转载自blog.csdn.net/misayaaaaa/article/details/132458882