Submission #17502015


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
        for mid in range(i+1,j):
            dp[i][j]=max(dp[i][j],dp[i][mid]+dp[mid+1][j])
        if (w+1)%3==0:
             if S[i]=="i" and S[j]=="i":
                 for k in range(i+1,j-1):
                     if S[k]=="w":
                         dp[i][j]=max(dp[i][j],dp[i+1][k]+dp[k+1][j-1]+1)
    
print(dp[0][-1])

Submission Info

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

Judge Result

Set Name All
Score / Max Score 0 / 5
Status
× 2
× 4
× 1
Set Name Test Cases
All 00, 01, 02, 03, 04, 90, 91
Case Name Status Exec Time Memory
00 1943 ms 9324 KB
01 1806 ms 9132 KB
02 2076 ms 9144 KB
03 1978 ms 9332 KB
04 1635 ms 9324 KB
90 25 ms 8756 KB
91 19 ms 9040 KB