結果
問題 | No.1512 作文 |
ユーザー | O2MT |
提出日時 | 2021-05-21 23:16:50 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 726 ms / 2,000 ms |
コード長 | 704 bytes |
コンパイル時間 | 730 ms |
コンパイル使用メモリ | 81,996 KB |
実行使用メモリ | 184,980 KB |
最終ジャッジ日時 | 2024-10-10 10:11:13 |
合計ジャッジ時間 | 7,665 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 38 |
ソースコード
N = int(input()) S = [list(str(input())) for _ in range(N)] def getIndex(s): return ord(s)-96 l = [] for i in range(N): a,b = getIndex(S[i][0]),getIndex(S[i][-1]) if a <= b: r = sorted(S[i]) if S[i] == r: l.append((a,b,len(S[i]))) l.sort(key=lambda x: x[2]) l.sort(key=lambda x: x[1]) l.sort(key=lambda x: x[0]) N = len(l) dp = [[0 for _ in range(27)] for _ in range(N+1)] for i in range(N): a,b,c = l[i] for j in range(27): dp[i+1][j] = max(dp[i][j], dp[i+1][j]) for j in range(a+1): dp[i+1][b] = max(dp[i][j]+c, dp[i][b],dp[i+1][b]) ans = 0 for i in range(N+1): for j in range(27): ans = max(ans,dp[i][j]) # print(l) # for d in dp: # print(*d) print(ans)