Please sign in first.
Submission #68805451
Source Code Expand
n, m, k = map(int,input().split()) s = [input() for i in range(n)] # 上に何マス続いているか? h = [[0] * m for i in range(n)] for j in range(m): for i in range(n): if s[i][j] == '#': h[i][j] = 0 else: if i-1 < 0: h[i][j] = 1 else: h[i][j] = h[i-1][j] + 1 # 縦 k 以下, 横 l 以下の長方形であって面積が K 以下のものの個数 r = [[0] * (m+1) for i in range(n+1)] for i in range(1, n+1): for j in range(1, m+1): if i * j <= k: r[i][j] += 1 for i in range(n+1): for j in range(m): r[i][j+1] += r[i][j] for i in range(n): for j in range(m+1): r[i+1][j] += r[i][j] # r[i][j] の寄与を imos 法で求める c = [[0] * (m+2) for i in range(n+1)] for i in range(n): st = [-1] # ブロックの高さ ind = [m] # ブロックが始まる y 座標 for j in range(m-1,-1,-1): while st[-1] >= h[i][j]: x = st.pop() c[x][ind[-1]-j] += 1 # 紫のブロック ind.pop() c[x][ind[-1]-j] -= 1 # 橙のブロック c[h[i][j]][0] -= 1 # 紫のブロック c[h[i][j]][ind[-1]-j] += 1 # 橙のブロック st.append(h[i][j]) ind.append(j) while st[-1] >= 0: x = st.pop() c[x][ind[-1]+1] += 1 # 紫のブロック ind.pop() c[x][ind[-1]+1] -= 1 # 橙のブロック for i in range(n+1): for j in range(m+1): c[i][j+1] += c[i][j] ans = 0 for i in range(n+1): for j in range(m+1): ans += c[i][j] * r[i][j] print(ans)
Submission Info
| Submission Time | |
|---|---|
| Task | F - kirinuki |
| User | shobonvip |
| Language | Python (PyPy 3.10-v7.3.12) |
| Score | 550 |
| Code Size | 1468 Byte |
| Status | AC |
| Exec Time | 832 ms |
| Memory | 349608 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 550 / 550 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt |
| All | hand_01.txt, hand_02.txt, hand_03.txt, hand_04.txt, hand_05.txt, hand_06.txt, hand_07.txt, hand_08.txt, sample_01.txt, sample_02.txt, sample_03.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt, test_49.txt, test_50.txt, test_51.txt, test_52.txt, test_53.txt, test_54.txt, test_55.txt, test_56.txt, test_57.txt, test_58.txt, test_59.txt, test_60.txt, test_61.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| hand_01.txt | AC | 462 ms | 207464 KiB |
| hand_02.txt | AC | 444 ms | 198944 KiB |
| hand_03.txt | AC | 443 ms | 198976 KiB |
| hand_04.txt | AC | 483 ms | 207224 KiB |
| hand_05.txt | AC | 450 ms | 206404 KiB |
| hand_06.txt | AC | 436 ms | 197752 KiB |
| hand_07.txt | AC | 437 ms | 198208 KiB |
| hand_08.txt | AC | 482 ms | 207312 KiB |
| sample_01.txt | AC | 55 ms | 76344 KiB |
| sample_02.txt | AC | 55 ms | 76364 KiB |
| sample_03.txt | AC | 55 ms | 76420 KiB |
| test_01.txt | AC | 55 ms | 76516 KiB |
| test_02.txt | AC | 54 ms | 76400 KiB |
| test_03.txt | AC | 394 ms | 213708 KiB |
| test_04.txt | AC | 431 ms | 200708 KiB |
| test_05.txt | AC | 832 ms | 349608 KiB |
| test_06.txt | AC | 379 ms | 213512 KiB |
| test_07.txt | AC | 436 ms | 199744 KiB |
| test_08.txt | AC | 445 ms | 199476 KiB |
| test_09.txt | AC | 668 ms | 242232 KiB |
| test_10.txt | AC | 481 ms | 209952 KiB |
| test_11.txt | AC | 446 ms | 200568 KiB |
| test_12.txt | AC | 381 ms | 208672 KiB |
| test_13.txt | AC | 460 ms | 206484 KiB |
| test_14.txt | AC | 508 ms | 207820 KiB |
| test_15.txt | AC | 716 ms | 277564 KiB |
| test_16.txt | AC | 532 ms | 207876 KiB |
| test_17.txt | AC | 506 ms | 206828 KiB |
| test_18.txt | AC | 511 ms | 207292 KiB |
| test_19.txt | AC | 507 ms | 206496 KiB |
| test_20.txt | AC | 488 ms | 208000 KiB |
| test_21.txt | AC | 683 ms | 271584 KiB |
| test_22.txt | AC | 567 ms | 212876 KiB |
| test_23.txt | AC | 458 ms | 200040 KiB |
| test_24.txt | AC | 386 ms | 214892 KiB |
| test_25.txt | AC | 434 ms | 198752 KiB |
| test_26.txt | AC | 432 ms | 199316 KiB |
| test_27.txt | AC | 519 ms | 241820 KiB |
| test_28.txt | AC | 462 ms | 210280 KiB |
| test_29.txt | AC | 426 ms | 198884 KiB |
| test_30.txt | AC | 399 ms | 208060 KiB |
| test_31.txt | AC | 383 ms | 205880 KiB |
| test_32.txt | AC | 436 ms | 200724 KiB |
| test_33.txt | AC | 695 ms | 244492 KiB |
| test_34.txt | AC | 472 ms | 207840 KiB |
| test_35.txt | AC | 444 ms | 199032 KiB |
| test_36.txt | AC | 386 ms | 208364 KiB |
| test_37.txt | AC | 512 ms | 206544 KiB |
| test_38.txt | AC | 507 ms | 207192 KiB |
| test_39.txt | AC | 822 ms | 261792 KiB |
| test_40.txt | AC | 626 ms | 221004 KiB |
| test_41.txt | AC | 505 ms | 206988 KiB |
| test_42.txt | AC | 504 ms | 208428 KiB |
| test_43.txt | AC | 545 ms | 198360 KiB |
| test_44.txt | AC | 574 ms | 206696 KiB |
| test_45.txt | AC | 706 ms | 271240 KiB |
| test_46.txt | AC | 539 ms | 197216 KiB |
| test_47.txt | AC | 555 ms | 207776 KiB |
| test_48.txt | AC | 377 ms | 213632 KiB |
| test_49.txt | AC | 427 ms | 205284 KiB |
| test_50.txt | AC | 418 ms | 200472 KiB |
| test_51.txt | AC | 624 ms | 290296 KiB |
| test_52.txt | AC | 428 ms | 198700 KiB |
| test_53.txt | AC | 428 ms | 198760 KiB |
| test_54.txt | AC | 456 ms | 199360 KiB |
| test_55.txt | AC | 438 ms | 199116 KiB |
| test_56.txt | AC | 505 ms | 207728 KiB |
| test_57.txt | AC | 446 ms | 198748 KiB |
| test_58.txt | AC | 453 ms | 199544 KiB |
| test_59.txt | AC | 442 ms | 199368 KiB |
| test_60.txt | AC | 508 ms | 207548 KiB |
| test_61.txt | AC | 445 ms | 198904 KiB |