【Python3】输出和C++版一致,但提交不通过,怀疑是系统问题。纯纯浪费我时间。
末尾附赠一个测试用例。
from itertools import permutations n = int(input()) s = input() t = list(map(int, input().split())) pre = [[0, 0, 0] for _ in range(n + 1)] for i in range(1, n + 1): pre[i][0] = pre[i - 1][0] pre[i][1] = pre[i - 1][1] pre[i][2] = pre[i - 1][2] if s[i-1] == '0': pre[i][1] += t[i-1] pre[i][2] += t[i-1] elif s[i-1] == '1': pre[i][0] += t[i-1] pre[i][2] += t[i-1] else: pre[i][0] += t[i-1] pre[i][1] += t[i-1] ans = sum(t) color = [0, 1, 2] mn = [0] * (n + 1) for each in permutations(color): a, b, c = each mn[1] = pre[1][a] - pre[1][b] for i in range(2, n + 1): mn[i] = min(mn[i-1], pre[i][a] - pre[i][b]) for j in range(n, 0, -1): ans = min(ans, pre[n][c] - pre[j-1][c] + pre[j-1][b] + mn[j-1]) print(ans)
# len(s) = 1000 0212010212011021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201021201002120102120110212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010212010
# len(t) = 1000 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2 14 17 3 10 19 5 12 8 15 20 11 16 4 9 18 6 13 7 1 2