結果

問題 No.1542 ぽんぽんぽん ぽんぽんぽんぽん ぽんぽんぽん
ユーザー googol_S0
提出日時 2021-06-06 18:13:37
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 658 bytes
コンパイル時間 361 ms
コンパイル使用メモリ 82,220 KB
実行使用メモリ 1,479,204 KB
最終ジャッジ日時 2024-11-23 02:20:36
合計ジャッジ時間 40,848 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 2 WA * 8 TLE * 2 MLE * 18
権限があれば一括ダウンロードができます

ソースコード

diff #

N=int(input())
S=input()
INF=-(10**9)
DP=[[[[INF]*(N+1) for i in range(N+1)] for k in range(3)] for j in range(N+1)]
DP[0][0][0][0]=0
for i in range(N):
  for l in range(3):
    for j in range(N):
      for k in range(N):
        if S[i]=='p':
          DP[i+1][l][j+1][k]=max(DP[i+1][l][j+1][k],DP[i][l][j][k])
        elif S[i]=='o':
          if j:
            DP[i+1][l][j-1][k+1]=max(DP[i+1][l][j-1][k+1],DP[i][l][j][k])
        else:
          if k:
            x=min(l+(j==(k-1)==0),2)
            DP[i+1][x][j][k-1]=max(DP[i+1][x][j][k-1],DP[i][l][j][k]+1)
        DP[i+1][l][j][k]=max(DP[i+1][l][j][k],DP[i][l][j][k])
print(max(-1,DP[N][2][0][0]-2))
0