Submission #62295435


Source Code Expand

Copy
N=int(input())
A=input().strip()
#node=[num,parent,L,R,convert0,convert1]
class Node:
def __init__(self,n) -> None:
self.num=n
self.convert0=0
self.convert1=0
memo={}
def dfs(L,R,num):
S=Node(num)
memo[num]=S
if R-L==1:
if int(A[L])==0:
S.convert1=1
else:
S.convert0=1
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
N=int(input())
A=input().strip()

#node=[num,parent,L,R,convert0,convert1]
class Node:
    def __init__(self,n) -> None:
        self.num=n
        self.convert0=0
        self.convert1=0

    
memo={}
def dfs(L,R,num):
    S=Node(num)
    memo[num]=S
    if R-L==1:
        if int(A[L])==0:
            S.convert1=1
        else:
            S.convert0=1
        
        return int(A[L])
    
    else:
        tmp=0
        tmp+=dfs(L,L+(R-L)//3,num*3+1)
        tmp+=dfs(L+(R-L)//3,L+(R-L)*2//3,num*3+2)
        tmp+=dfs(L+(R-L)*2//3,R,num*3+3)
        c0=[memo[num*3+i+1].convert0 for i in range(3)]
        c1=[memo[num*3+i+1].convert1 for i in range(3)]
        c0.sort()
        c1.sort()
        match tmp:
            case 0:
                S.convert1=c1[1]+c1[0]
            case 1:
                S.convert1=c1[1]
            case 2:
                S.convert0=c0[1]
            case 3:
                S.convert0=c0[1]+c0[0]
        return tmp>>1
k=dfs(0,3**N,0)

if k==0:
    print(memo[0].convert1)
else:
    print(memo[0].convert0)

Submission Info

Submission Time
Task E - Hierarchical Majority Vote
User matttttttoy
Language Python (PyPy 3.10-v7.3.12)
Score 450
Code Size 1096 Byte
Status AC
Exec Time 1084 ms
Memory 450108 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 450 / 450
Status
AC × 2
AC × 32
Set Name Test Cases
Sample 00_sample_01.txt, 00_sample_02.txt
All 00_sample_01.txt, 00_sample_02.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt, 01_random_20.txt, 02_handmade_01.txt, 02_handmade_02.txt, 02_handmade_03.txt, 02_handmade_04.txt, 02_handmade_05.txt, 02_handmade_06.txt, 02_handmade_07.txt, 02_handmade_08.txt, 02_handmade_09.txt, 02_handmade_10.txt
Case Name Status Exec Time Memory
00_sample_01.txt AC 56 ms 76320 KB
00_sample_02.txt AC 56 ms 76356 KB
01_random_01.txt AC 89 ms 88172 KB
01_random_02.txt AC 1073 ms 450032 KB
01_random_03.txt AC 56 ms 76412 KB
01_random_04.txt AC 1070 ms 449576 KB
01_random_05.txt AC 108 ms 97264 KB
01_random_06.txt AC 1044 ms 449600 KB
01_random_07.txt AC 175 ms 141480 KB
01_random_08.txt AC 1084 ms 450060 KB
01_random_09.txt AC 56 ms 76460 KB
01_random_10.txt AC 1078 ms 450108 KB
01_random_11.txt AC 56 ms 76508 KB
01_random_12.txt AC 990 ms 449832 KB
01_random_13.txt AC 56 ms 76264 KB
01_random_14.txt AC 1080 ms 449896 KB
01_random_15.txt AC 79 ms 84356 KB
01_random_16.txt AC 1074 ms 449804 KB
01_random_17.txt AC 88 ms 88068 KB
01_random_18.txt AC 1073 ms 449860 KB
01_random_19.txt AC 57 ms 76376 KB
01_random_20.txt AC 1072 ms 449984 KB
02_handmade_01.txt AC 1036 ms 449392 KB
02_handmade_02.txt AC 1047 ms 449628 KB
02_handmade_03.txt AC 988 ms 449708 KB
02_handmade_04.txt AC 1036 ms 449680 KB
02_handmade_05.txt AC 1049 ms 449812 KB
02_handmade_06.txt AC 1026 ms 449632 KB
02_handmade_07.txt AC 1046 ms 449632 KB
02_handmade_08.txt AC 1043 ms 449680 KB
02_handmade_09.txt AC 1045 ms 449680 KB
02_handmade_10.txt AC 985 ms 449528 KB


2025-03-22 (Sat)
21:15:57 +00:00