144742025-01-11 10:18:24fzs1969Színezéspypy3Accepted 50/50331ms47128 KiB
g, v = list(map(int,input().split()))
szĂ­nsor = input()
változás = 0
for i in range(1,g):
    if szĂ­nsor[i] != szĂ­nsor[i-1]:
        változás += 1
eredmény = [(változás+1)//2]

szĂ­nsor = list(szĂ­nsor)
for i in range(v):
    hol = int(input())-1
    if hol == 0:
        if szĂ­nsor[0] == szĂ­nsor[1]:
            változás += 1
        else:
            változás -= 1
    elif hol == g - 1:
        if szĂ­nsor[-1] == szĂ­nsor[-2]:
            változás += 1
        else:
            változás -= 1
    else:
        if szĂ­nsor[hol-1] != szĂ­nsor[hol+1]:
            változás += 0
        elif szĂ­nsor[hol] == szĂ­nsor[hol+1]:
            változás += 2
        else:
            változás -= 2
    if szĂ­nsor[hol] == '1':
        szĂ­nsor[hol] = '0'
    else:
        szĂ­nsor[hol] = '1'
    eredmény.append((változás+1)//2)
    # print(színsor, változás, (változás+1)//2)
for szám in eredmény:
    print(szám)
# print(eredmény)
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/043ms19716 KiB
2Accepted0/068ms21960 KiB
3Accepted2/239ms19684 KiB
4Accepted2/243ms19672 KiB
5Accepted3/339ms19692 KiB
6Accepted3/343ms19724 KiB
7Accepted3/370ms21552 KiB
8Accepted3/364ms21480 KiB
9Accepted2/265ms21480 KiB
10Accepted2/271ms21580 KiB
11Accepted3/3298ms46440 KiB
12Accepted3/3331ms46660 KiB
13Accepted3/3305ms47008 KiB
14Accepted3/3275ms47080 KiB
15Accepted3/3296ms47128 KiB
16Accepted3/3316ms46820 KiB
17Accepted3/3286ms46860 KiB
18Accepted3/3326ms47080 KiB
19Accepted3/3273ms46564 KiB
20Accepted3/3277ms46820 KiB