hihocoder,#1051 : 补提交卡,python版本

n = int(raw_input())
for i in range(n):
    x1 = raw_input().strip("\n").split(" ")
    x1 = map(int, x1)

    x2 = raw_input().strip("\n").split(" ")
    x2 = map(int, x2)

    N, M = x1[0], x1[1]
    a = x2
    if M >= N:
        print 100
    else:
        days = []
        for i in range(N+1):
            if i == 0:
                days.append(a[i] - 1)
            elif i == N:
                days.append(101 - a[i-1] - 1)
            else:
                days.append(a[i] - a[i-1] - 1)

        leng_Days = len(days)
        win_Nums = leng_Days - M
        max_Sum = 0
        for i in range(win_Nums):
            day_Sum = sum(days[i:i+M+1])
            max_Sum = max(max_Sum, day_Sum)
        print max_Sum + M

总结

1、range()里,填几,就是几个!要想清楚目标有几个,或者循环多少次。。第一次做的时候想当然的写了N,然后一直WA

2、[i:i+M+1]中,是包含了M个项!所以在写代码的时候不能太快,不能太大意。

猜你喜欢

转载自blog.csdn.net/leokingszx/article/details/79758489