144752025-01-11 10:34:37fzs1969Színezéspython3Time limit exceeded 29/50634ms15188 KiB
g, v = list(map(int,input().split()))
szĂ­nsor = list( map( int, list(input())))
változás = 0
# meghatározom, hogy az eredetiben hány váltás van a színekben
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)
# megnézem, hogy az "átfordítás mit okoz"
for i in range(v):
    hol = int(input())-1
    # ha a legelején van, akkor vagy nő vagy csökken a váltások száma
    if hol == 0:
        # ha kezdetben egyforma az első kettő, akkor nő
        if szĂ­nsor[0] == szĂ­nsor[1]:
            változás += 1
        # különben csökken
        else:
            változás -= 1
    # ugyanaz, ha a legvégén van
    elif hol == g - 1:
        if szĂ­nsor[-1] == szĂ­nsor[-2]:
            változás += 1
        else:
            változás -= 1
    # ha közben van...
    else:
        # ha eltérők között áll, akkor nincs váltás, 100, 110, 001, 011
        if szĂ­nsor[hol-1] != szĂ­nsor[hol+1]:
            változás += 0
        # különben (azaz ha azonosak között van), akkor ha mindhárom azonos, kettővel nő, egyébként kettővel csökken
        elif szĂ­nsor[hol] == szĂ­nsor[hol+1]:
            változás += 2
        else:
            változás -= 2
    szĂ­nsor[hol] = 1- szĂ­nsor[hol]
    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
base29/50
1Accepted0/017ms3108 KiB
2Accepted0/023ms3388 KiB
3Accepted2/217ms3172 KiB
4Accepted2/217ms3104 KiB
5Accepted3/316ms3008 KiB
6Accepted3/316ms3064 KiB
7Accepted3/318ms3204 KiB
8Accepted3/319ms3200 KiB
9Accepted2/219ms3088 KiB
10Accepted2/218ms3272 KiB
11Time limit exceeded0/3629ms15060 KiB
12Accepted3/3593ms15060 KiB
13Time limit exceeded0/3606ms15188 KiB
14Accepted3/3600ms15188 KiB
15Accepted3/3597ms15052 KiB
16Time limit exceeded0/3620ms15168 KiB
17Time limit exceeded0/3606ms15116 KiB
18Time limit exceeded0/3611ms15188 KiB
19Time limit exceeded0/3634ms15188 KiB
20Time limit exceeded0/3611ms15128 KiB