选举拉票
前言:本专栏将持续更新互联网大厂机试真题,并进行详细的分析与解答,包含完整的代码实现,希望可以帮助到正在努力的你。关于大厂机试流程、面经、面试指导等,如有任何疑问,欢迎联系我,wechat:steven_moda;email:nansun0903@163.com;备注:优快云。
题目描述
现在你要竞选一个县的县长。你去对每一个选民进行了调查。你已经知道每一个人要选的人是谁,以及要花多少钱才能让这个人选你。现在你想要花最少的钱使得你当上县长。你当选的条件是你的票数比任何一个其它候选人的多(严格的多,不能和他们中最多的相等)。请计算一下最少要花多少钱?
输入描述
单组测试数据.
第一行有一个整数 n(1 ≤ n ≤ 10^5),表示这个县的选民数目。
接下来有 n 行,每一行有两个整数 ai 和 bi(0 ≤ ai ≤ 10^5;0 ≤ bi ≤ 10^4),表示第 i 个选民选的是第 ai 号候选人,想要让他选择自己就要花 bi 的钱。你是 0 号候选人(所以,如果一个选民选你的话 ai 就是 0,这个时候 bi 也肯定是 0 )。
输出描述
输出一个整数表示花费的最少的钱。
本文详细解析了华为在线开发者(OD)机试中的一道选举拉票题目,要求通过C++编程找出竞选县长时,花费最少的金额以确保票数超过其他所有候选人。内容包括题目描述、输入输出说明、样例分析及完整C++代码实现。
订阅专栏 解锁全文
116

被折叠的 条评论
为什么被折叠?



