結果
| 問題 |
No.866 レベルKの正方形
|
| コンテスト | |
| ユーザー |
convexineq
|
| 提出日時 | 2021-04-05 10:50:36 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 652 bytes |
| コンパイル時間 | 468 ms |
| コンパイル使用メモリ | 82,304 KB |
| 実行使用メモリ | 111,744 KB |
| 最終ジャッジ日時 | 2024-12-30 13:47:47 |
| 合計ジャッジ時間 | 69,884 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 13 RE * 3 TLE * 6 |
ソースコード
def clear(lst):
for r in lst:
for j in range(S):
r[j] = 0
def a2i(x): return ord(x) - 97
def score(lst,i,j):
lst = sorted(lst)
if K != 26: return lst[K] - lst[K-1]
else: return min(i,j) - lst[K]
h,w,K = map(int,input().split())
b = [list(map(a2i,input())) for _ in range(h)]
S = 26
dp = [[0]*S for _ in range(w)]
ndp = [[0]*S for _ in range(w)]
ans = 0
for i in range(h):
clear(ndp)
for j in range(w):
for k in range(S):
ndp[j][k] = min(ndp[j-1][k],dp[j][k],dp[j-1][k])+1
ndp[j][b[i][j]] = 0
dp,ndp = ndp,dp
for j in range(w):
ans += score(dp[j],i,j)
print(ans)
convexineq