139352025-01-09 11:46:39birozsSzínezéspython3Hibás válasz 3/50699ms6908 KiB
N,Q = map(int,input().split())
sor = input()
lista = sor.split("0")
db0 = lista.count('')
db1 = len(lista) - db0
megoldas = [min([db0,db1])]
for eset in range(Q):
    K = int(input())
    if K > 1 and K < N:
        resz = sor[K-2:K+1]
        if resz in ["000","111"]:
            db0 +=1
            db1 +=1
        elif resz in ["101","010"]:
            db0 -= 1
            db1 -= 1
        if sor[K-1] == "1":
            sor = sor[:K-1] + "0" + sor[K:]
        else:
            sor = sor[:K-1] + "1" + sor[K:]    
    elif K == 1:
        resz = sor[:2]
        if resz == "00":
            db1 += 1
        elif resz == "11":
            db0 += 1
        elif resz == "10":
            db1 -= 0
        elif resz == "01":
            db0 -= 0
        if sor[0] == "1":
            sor = "0" + sor[1:]
        else:
            sor = "1" + sor[1:]    
    elif K == N:
        resz = sor[-2:]
        if resz == "00":
            db1 += 1
        elif resz == "11":
            db0 += 1
        elif resz == "10":
            db0 -= 0
        elif resz == "01":
            db1 -= 0
        if sor[-1] == "1":
            sor = sor[:-1] + "0"
        else:
            sor = sor[:-1] + "1" 
    megoldas.append(min([db0,db1]))
for x in megoldas:
    print(x)



RészfeladatÖsszpontTesztVerdiktIdőMemória
base3/50
1Elfogadva0/017ms3124 KiB
2Hibás válasz0/020ms3372 KiB
3Hibás válasz0/216ms3124 KiB
4Hibás válasz0/216ms3124 KiB
5Elfogadva3/316ms3092 KiB
6Hibás válasz0/317ms3224 KiB
7Hibás válasz0/319ms3256 KiB
8Hibás válasz0/319ms3332 KiB
9Hibás válasz0/219ms3260 KiB
10Hibás válasz0/219ms3276 KiB
11Időlimit túllépés0/3699ms6908 KiB
12Időlimit túllépés0/3697ms6560 KiB
13Időlimit túllépés0/3697ms6372 KiB
14Időlimit túllépés0/3697ms6900 KiB
15Időlimit túllépés0/3685ms6812 KiB
16Időlimit túllépés0/3685ms6904 KiB
17Időlimit túllépés0/3697ms6612 KiB
18Időlimit túllépés0/3699ms4852 KiB
19Időlimit túllépés0/3680ms5352 KiB
20Időlimit túllépés0/3681ms5240 KiB