138632025-01-09 06:04:55birozsSzínezéspython3Runtime error 14/50699ms6776 KiB
be = input().strip().split()
N = int(be[0])
Q = int(be[1])
sor = input()
db0 = 0
db1 = 0
for i in range(0,N-1):
    if sor[i] != sor[i+1]:
        if sor[i] == '0':
            db0 += 1
        else:
            db1 += 1
if sor[-1] == '0':
    db0 += 1
else:
    db1 += 1
print(min([db0,db1]))
for i in range(0,Q):
    poz = int(input())
    poz -= 1
    if poz > 0 and poz < N-1:
        if sor[poz-1:poz+2] == '000' or sor[poz-1:poz+2] == '111':
            db0 += 1
            db1 += 1
        if sor[poz-1:poz+2] == '010' or sor[poz-1:poz+2] == '101':
            db0 -= 1
            db1 -= 1
    if poz == 0:
        if sor[0:2] == '00':
            db1 += 1
        if sor[0:2] == '11':
            db0 += 1
        if sor[0:2] == '01':
            db0 -= 1
        if sor[0:2] == '10':
            db1 -= 1
    if poz == N-1:
        if sor[-2:] == '00':
            db += 1
        if sor[-2:] == '11':
            db0 += 1
        if sor[-2:] == '01':
            db1 -= 1
        if sor[-2:] == '10':
            db0 -= 1
    print(min([db0,db1]))
    sor2 = list(sor)
    if sor2[poz] == '1':
        sor2[poz] = '0'
    else:
        sor2[poz] = '1'
    sor = "".join(sor2)
    




            

        



        
SubtaskSumTestVerdictTimeMemory
base14/50
1Accepted0/016ms3320 KiB
2Accepted0/0203ms3376 KiB
3Accepted2/216ms3004 KiB
4Accepted2/216ms3312 KiB
5Runtime error0/316ms3124 KiB
6Runtime error0/317ms3124 KiB
7Accepted3/341ms3368 KiB
8Accepted3/341ms3172 KiB
9Accepted2/241ms3124 KiB
10Accepted2/241ms3112 KiB
11Time limit exceeded0/3699ms6768 KiB
12Time limit exceeded0/3699ms6720 KiB
13Time limit exceeded0/3683ms6768 KiB
14Time limit exceeded0/3686ms6768 KiB
15Time limit exceeded0/3688ms6776 KiB
16Time limit exceeded0/3689ms6768 KiB
17Time limit exceeded0/3699ms6712 KiB
18Time limit exceeded0/3691ms6768 KiB
19Time limit exceeded0/3689ms6764 KiB
20Time limit exceeded0/3690ms6768 KiB