*国选美大赛,总共有 n 个选手(编号从1到 n ), m 个评委。每个评委只能拿到一张选票,每张选票可以为编号 L 到 R 的选手加上一分。得分最高的选手就可以原地出道,走向人生巅峰。现在让您找出得分最高的选手。
输入格式:
第一行两个整数 n,m (1<=n,m<=100000)
接下来m行,每行输入两个整数 L 和 R (1<=L<=R<=n)
输出格式:
按递增顺序输出每个选手的编号(注意不要有行末空格)
输入样例:
在这里给出一组输入。例如:
5 8
2 3
2 4
3 5
4 4
2 4
3 3
4 5
2 3
输出样例:
在这里给出相应的输出。例如:
3
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
下面是我写的代码,有用的话采纳一下呗:
import time #先说清楚,范围一定是先输入较小数再输入较大数,否则可能会有未知BUG
def main():
dict={}
n=input("人数:")
m=input("评委数:")
if 1<=int(m)<=100000 and int(n)>=1:
for i in range(1,int(n)+1):
dict[i]=0
for i in range(1,int(m)+1):
a=input(f"评委{i}起始:")
b=input(f"评委{i}最后:")
for i in range(int(a),int(b)+1):
if int(a)>int(n) or int(b)>int(n):
print("范围错误")
time.sleep(1.0)
return
else:
if int(a)>=int(b):
print("范围错误")
time.sleep(1.0)
return
else:
dict[i]+=1
listhelp1=[]
listhelp2=[]
dict_value=sorted(dict.items(),key=lambda x:x[1],reverse=False)
for i in dict_value:
listhelp1.append(i[0])
listhelp2.append(i[1])
print(f"第一名是{listhelp1[-1]}号选手")
time.sleep(1.0)
main()
输入和输出有些许不同,但功能相同,且满足所有条件(长度,时间,内存)