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