2023年华为od机试Java【人气最高的店铺】

题目

某城市有m个商店和n位市民。现在要举行一场活动,通过投票来选出最受欢迎的商店。每位市民只能投一票,他们将根据自己的喜好为指定的商店投票。然而,1号商店有一个特殊的优势——它可以给每位市民发放补贴,使他们改变投票意向,投票给1号商店。请你计算出,1号商店为了成为最受欢迎的商店(即获得的票数超过其他所有商店),需要发放多少金额的补贴。如果1号商店已经是最受欢迎的商店,则输出0。

输入描述:
第一行输入两个整数n和m,以逗号分隔,分别表示市民总数和商店总数(1<=n, m<=3000)。接下来的n行,每行输入两个整数p和q,以逗号分隔,其中p表示该市民初步想要投票给p号商店,q表示为了让该市民改投1号商店需要支付的补贴金额(1 <= p <= m,1<= q <= 10^9)。

输出描述:
输出一个整数,表示1号商店为了成为最受欢迎的商店,需要发放的最少补贴金额。

示例:
输入:
5,5
2,10
3,20
4,30
5,40
5,90
输出:
50
解释:
有5个市民和5个商店。1号商店可以选择发放总额为60元的补贴抢2,3,4号商店的票,或者发放总额为50元的补贴抢2,5号商店的票。后者的补贴金额更少,所以输出50。

代码

你可能感兴趣的:(Python,JS),华为od,java,数据结构)