没考试,刚试了一下,大佬们看看这样能不能过: 1, import heapq tasks = [] L = [1, 4, 2, 10, 100, 50, 600, 32, 42, 200, 100000, 3225] k = 2 m = 100000 for item in L: heapq.heappush(tasks, -item) for i in range(m): tasks_2 = tasks[::] tasks = [item - k for item in tasks] x = heapq.heappop(tasks) heapq.heappush(tasks, x // 2) if sorted(tasks) == sorted(tasks_2): break print(-sum(tasks)) 2, L = list(range(1000)) n = len(L) ans = [0 for i in range(n)] ans[0] = L[0] for i in range(1, n): ans[i] = ans[i - 1] M = L[i] for j in range(i, -1, -1): M = max(M, L[j]) ans[i] += M print(ans[-1] / (n * (n + 1) / 2))