n,k,t = [int(x) for x in input().split()] inp = input() ans = -1 prefix_sum = [(0,0,0)] for el in inp: if el == "3": prefix_sum.append((prefix_sum[-1][0],prefix_sum[-1][1],prefix_sum[-1][2]+1)) elif el == "2": prefix_sum.append((prefix_sum[-1][0],prefix_sum[-1][1]+1,prefix_sum[-1][2])) elif el == "1": prefix_sum.append((prefix_sum[-1][0]+1,prefix_sum[-1][1],prefix_sum[-1][2])) #print(prefix_sum) if prefix_sum[-1][0] < k: ans = prefix_sum[-1][2] + prefix_sum[-1][0] + min(k - prefix_sum[-1][0],prefix_sum[-1][1]) print(ans) else: for t1 in range(1,n-2*t+1): for t2 in range(t1+t+1,n+2-t): lost = prefix_sum[t1+t-1][0] + prefix_sum[t1+t-1][1] - prefix_sum[t1-1][1] + prefix_sum[t2+t-1][1]-prefix_sum[t2-1][1] + prefix_sum[-1][0] - prefix_sum[t2-1][0] if lost > k: continue a = prefix_sum[t1-1][2]+ prefix_sum[-1][2] -prefix_sum[t2+t-1][2] + prefix_sum[t1-1][0] + prefix_sum[-1][0] - prefix_sum[t2+t-1][0] a += min(k - lost,prefix_sum[t1-1][1]+prefix_sum[-1][1]-prefix_sum[t2+t-1][1]) if a > ans: ans = a print(ans)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | n,k,t = [int(x) for x in input().split()] inp = input() ans = -1 prefix_sum = [(0,0,0)] for el in inp: if el == "3": prefix_sum.append((prefix_sum[-1][0],prefix_sum[-1][1],prefix_sum[-1][2]+1)) elif el == "2": prefix_sum.append((prefix_sum[-1][0],prefix_sum[-1][1]+1,prefix_sum[-1][2])) elif el == "1": prefix_sum.append((prefix_sum[-1][0]+1,prefix_sum[-1][1],prefix_sum[-1][2])) #print(prefix_sum) if prefix_sum[-1][0] < k: ans = prefix_sum[-1][2] + prefix_sum[-1][0] + min(k - prefix_sum[-1][0],prefix_sum[-1][1]) print(ans) else: for t1 in range(1,n-2*t+1): for t2 in range(t1+t+1,n+2-t): lost = prefix_sum[t1+t-1][0] + prefix_sum[t1+t-1][1] - prefix_sum[t1-1][1] + prefix_sum[t2+t-1][1]-prefix_sum[t2-1][1] + prefix_sum[-1][0] - prefix_sum[t2-1][0] if lost > k: continue a = prefix_sum[t1-1][2]+ prefix_sum[-1][2] -prefix_sum[t2+t-1][2] + prefix_sum[t1-1][0] + prefix_sum[-1][0] - prefix_sum[t2+t-1][0] a += min(k - lost,prefix_sum[t1-1][1]+prefix_sum[-1][1]-prefix_sum[t2+t-1][1]) if a > ans: ans = a print(ans) |