Submission #75819743


Source Code Expand

import sys
input = sys.stdin.readline

n,q = map(int,input().split())
s = list(input().rstrip())
L,M = [],[0]
idx = 0
cur = s[0]
com = 1
for i in range(1,n):
    if s[i] == cur: com += 1
    else:
        L.append([idx,idx+com-1,cur])
        idx = i
        cur = s[i]
        com = 1
    M.append(len(L))
L.append([idx,idx+com-1,cur])

S = [0]
for i in range(len(L)):
    st,e,a = L[i]
    c = (e-st+1)//2
    if a == 'X': c = 0
    S.append(S[i]+c)

for _ in range(q):
    l,r = map(int,input().split())
    a,b = M[l-1],M[r-1]
    if a == b:
        if s[l-1] == 'X': print(0)
        else: print((r-l+1)//2)
    else:
        ans = 0
        if s[l-1] != 'X': ans += (L[a][1]-l+2)//2
        if s[r-1] != 'X': ans += (r-L[b][0])//2
        print(ans+S[b]-S[a+1])

Submission Info

Submission Time
Task D - Coloring
User Cenix820
Language Python (PyPy 3.11-v7.3.20)
Score 100
Code Size 803 Byte
Status AC
Exec Time 704 ms
Memory 226512 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 1
AC × 44
Set Name Test Cases
Sample 00-sample-001.txt
All 00-sample-001.txt, 01-001.txt, 01-002.txt, 01-003.txt, 01-004.txt, 01-005.txt, 01-006.txt, 01-007.txt, 01-008.txt, 01-009.txt, 01-010.txt, 01-011.txt, 01-012.txt, 01-013.txt, 01-014.txt, 01-015.txt, 01-016.txt, 01-017.txt, 01-018.txt, 01-019.txt, 01-020.txt, 01-021.txt, 01-022.txt, 01-023.txt, 01-024.txt, 01-025.txt, 01-026.txt, 01-027.txt, 01-028.txt, 01-029.txt, 01-030.txt, 01-031.txt, 01-032.txt, 01-033.txt, 01-034.txt, 01-035.txt, 01-036.txt, 01-037.txt, 01-038.txt, 01-039.txt, 01-040.txt, 01-041.txt, 01-042.txt, 01-043.txt
Case Name Status Exec Time Memory
00-sample-001.txt AC 55 ms 79444 KiB
01-001.txt AC 665 ms 202348 KiB
01-002.txt AC 663 ms 202956 KiB
01-003.txt AC 682 ms 202052 KiB
01-004.txt AC 673 ms 202384 KiB
01-005.txt AC 675 ms 202320 KiB
01-006.txt AC 694 ms 202188 KiB
01-007.txt AC 679 ms 202772 KiB
01-008.txt AC 683 ms 202532 KiB
01-009.txt AC 680 ms 202208 KiB
01-010.txt AC 678 ms 202408 KiB
01-011.txt AC 685 ms 202480 KiB
01-012.txt AC 674 ms 202064 KiB
01-013.txt AC 686 ms 202196 KiB
01-014.txt AC 704 ms 202396 KiB
01-015.txt AC 668 ms 202044 KiB
01-016.txt AC 420 ms 143632 KiB
01-017.txt AC 417 ms 143648 KiB
01-018.txt AC 415 ms 143632 KiB
01-019.txt AC 409 ms 143400 KiB
01-020.txt AC 664 ms 226140 KiB
01-021.txt AC 663 ms 226204 KiB
01-022.txt AC 672 ms 226512 KiB
01-023.txt AC 587 ms 178776 KiB
01-024.txt AC 552 ms 159340 KiB
01-025.txt AC 464 ms 143844 KiB
01-026.txt AC 467 ms 143908 KiB
01-027.txt AC 454 ms 143848 KiB
01-028.txt AC 448 ms 143652 KiB
01-029.txt AC 458 ms 143512 KiB
01-030.txt AC 474 ms 143752 KiB
01-031.txt AC 471 ms 144032 KiB
01-032.txt AC 508 ms 143728 KiB
01-033.txt AC 437 ms 143352 KiB
01-034.txt AC 529 ms 170848 KiB
01-035.txt AC 536 ms 180756 KiB
01-036.txt AC 542 ms 180732 KiB
01-037.txt AC 471 ms 143828 KiB
01-038.txt AC 56 ms 79840 KiB
01-039.txt AC 56 ms 79712 KiB
01-040.txt AC 56 ms 79600 KiB
01-041.txt AC 56 ms 79604 KiB
01-042.txt AC 56 ms 79900 KiB
01-043.txt AC 56 ms 79732 KiB