【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

京公网安备 11010502036488号