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个项!所以在写代码的时候不能太快,不能太大意。