結果
| 問題 |
No.1720 Division Permutation
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2021-10-17 12:44:09 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 528 bytes |
| コンパイル時間 | 365 ms |
| コンパイル使用メモリ | 82,304 KB |
| 実行使用メモリ | 267,408 KB |
| 最終ジャッジ日時 | 2024-09-23 03:54:03 |
| 合計ジャッジ時間 | 7,911 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 15 TLE * 1 -- * 44 |
ソースコード
# 適当再帰
from functools import lru_cache
N, K = map(int, input().split())
Ps = list(map(int, input().split()))
@lru_cache(None)
def rec(begin, div):
if div == 1:
return int((max(Ps[begin:]) - min(Ps[begin:])) == (N - begin - 1))
ret = 0
m = Ps[begin]
M = Ps[begin]
for end in range(begin + 1, N):
if M - m == end - begin - 1:
ret += rec(end, div - 1)
m = min(m, Ps[end])
M = max(M, Ps[end])
return ret
for X in range(1, K + 1):
print(rec(0, X))