結果
問題 |
No.1651 Removing Cards
|
ユーザー |
![]() |
提出日時 | 2025-04-09 20:56:42 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 900 bytes |
コンパイル時間 | 288 ms |
コンパイル使用メモリ | 82,636 KB |
実行使用メモリ | 274,564 KB |
最終ジャッジ日時 | 2025-04-09 20:58:33 |
合計ジャッジ時間 | 10,786 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 12 TLE * 1 -- * 19 |
ソースコード
import sys def main(): input = sys.stdin.read().split() ptr = 0 K = int(input[ptr]) ptr += 1 Q = int(input[ptr]) ptr += 1 queries = [int(input[ptr + i]) for i in range(Q)] ptr += Q def get_original(x, K_val): div = K_val - 1 if div == 0: return x q, rem = divmod(x, div) if rem == 0: q -= 1 rem = div return q * K_val + 1 + rem for N in queries: sequence = [] m = N while True: sequence.append(m) if m == 1: break d = (m - 1) // K + 1 m -= d # Reverse the sequence to start from 1 and go up to N reversed_seq = sequence[::-1] ans = 1 for m_val in reversed_seq[1:]: ans = get_original(ans, K) print(ans) if __name__ == "__main__": main()