結果

問題 No.1651 Removing Cards
ユーザー gew1fw
提出日時 2025-06-12 17:05:28
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 1,009 bytes
コンパイル時間 498 ms
コンパイル使用メモリ 82,752 KB
実行使用メモリ 294,764 KB
最終ジャッジ日時 2025-06-12 17:05:46
合計ジャッジ時間 11,037 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 12 TLE * 1 -- * 19
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys

def main():
    input = sys.stdin.read().split()
    idx = 0
    K = int(input[idx])
    idx += 1
    Q = int(input[idx])
    idx += 1
    for _ in range(Q):
        N = int(input[idx])
        idx += 1
        stack = []
        stack.append((N, False))
        result = 0
        while stack:
            m, is_processed = stack.pop()
            if not is_processed:
                if m == 1:
                    result = 1
                else:
                    t = (m - 1) // K + 1
                    m_prime = m - t
                    stack.append((m, True))
                    stack.append((m_prime, False))
            else:
                t = (m - 1) // K + 1
                m_prime = m - t
                f_m_prime = result
                if K == 1:
                    delta = f_m_prime + 1
                else:
                    delta = (f_m_prime - 1) // (K - 1) + 1
                result = f_m_prime + delta
        print(result)

if __name__ == '__main__':
    main()
0