144752025-01-11 10:34:37fzs1969Színezéspython3Időlimit túllépés 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)
RészfeladatÖsszpontTesztVerdiktIdőMemória
base29/50
1Elfogadva0/017ms3108 KiB
2Elfogadva0/023ms3388 KiB
3Elfogadva2/217ms3172 KiB
4Elfogadva2/217ms3104 KiB
5Elfogadva3/316ms3008 KiB
6Elfogadva3/316ms3064 KiB
7Elfogadva3/318ms3204 KiB
8Elfogadva3/319ms3200 KiB
9Elfogadva2/219ms3088 KiB
10Elfogadva2/218ms3272 KiB
11Időlimit túllépés0/3629ms15060 KiB
12Elfogadva3/3593ms15060 KiB
13Időlimit túllépés0/3606ms15188 KiB
14Elfogadva3/3600ms15188 KiB
15Elfogadva3/3597ms15052 KiB
16Időlimit túllépés0/3620ms15168 KiB
17Időlimit túllépés0/3606ms15116 KiB
18Időlimit túllépés0/3611ms15188 KiB
19Időlimit túllépés0/3634ms15188 KiB
20Időlimit túllépés0/3611ms15128 KiB