Submission #17506106


Source Code Expand

Copy
S=str(input())
 
dp = [[0]*(len(S)) for _ in range(len(S))]
 
for w in range(2,len(S)+1):
    for i in range(len(S)):
        j=w+i
        if j>=len(S):
            continue
        if S[i:j+1]=="iwi":
            dp[i][j]=1
            continue
        if (w+1)%3==0 and S[i]=="i" and S[j]=="i":
            for k in range(i+1,j):
                    if S[k]=="w":
                        dp[i][j]=max(dp[i][j],dp[i][k-1]+dp[k+1][j]+1)
                        
            for mid in range(i+1,j):
                dp[i][j]=max(dp[i][j],dp[i][mid]+dp[mid+1][j])
        else:
            dp[i][j]=dp[i][j-1]
                
    
print(dp[0][-1])

Submission Info

Submission Time
Task I - イウィ
User Matsuda123
Language Python (3.8.2)
Score 0
Code Size 670 Byte
Status
Exec Time 535 ms
Memory 9532 KB

Judge Result

Set Name All
Score / Max Score 0 / 5
Status
× 2
× 5
Set Name Test Cases
All 00, 01, 02, 03, 04, 90, 91
Case Name Status Exec Time Memory
00 299 ms 9400 KB
01 129 ms 9416 KB
02 535 ms 9396 KB
03 519 ms 9532 KB
04 344 ms 9220 KB
90 25 ms 8864 KB
91 20 ms 9028 KB