【牛客·华为真题】Python:最高分

题目:

 

思路:

这个题要注意有个坑,我就在这卡了一会,输入有多组,我是用异常处理做的。另外要注意AB的大小,A可能大于B。然后就分情况讨论就好了,找出最大值,我是把AB间学生的分数存进了一个列表,然后取max,剩下部分没什么特别。

代码:

for i in range(1000):
    try:
        n, m = map(int, input().split())
        begin = list(map(int, input().split()))
        student = []
    except EOFError:
        break
    else:
        for i in range(m):
            a, b, c = map(str, input().split())
            # print(a,b,c)
            student.append([a, int(b), int(c)])
        for i in range(m):
            if student[i][0] == 'Q':
                l = student[i][1]
                p = student[i][2]
                k = begin[min(l, p) - 1:max(l, p)]
                # print(k)
                m = max(k)
                print(m)
            elif student[i][0] == 'U':
                begin[student[i][1] - 1] = student[i][2]

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值