提出 #6247688


ソースコード 拡げる

import sys
input = sys.stdin.readline

N,K = map(int,input().split())

# その時点で残っているもののうち、下から何番目を並べるか
arr = []
x = 1
for i in range(N,0,-1):
    x *= i
    q,r = divmod(x,K)
    if r == 0:
        q -= 1
        r += K
    arr.append(q+1)
    x = r

size = (1 << 17) + 1

def BIT_update(BIT,x):
    while x < size:
        BIT[x] -= 1
        x += x & (-x)

def BIT_search(BIT,value):
    # sum of [0,x] >= value
    x,sx = 0,0
    step = size-1
    while step:
        y = x+step
        sy = sx+BIT[y]
        if sy < value:
            x,sx = y,sy
        step >>= 1
    return x+1

# まずは全て1個ずついれておく
BIT = [x & (-x) for x in range(size)]

answer = []
for n in arr:
    # 現時点で、下にn個残っている
    x = BIT_search(BIT,n)
    answer.append(x)
    BIT_update(BIT,x)

print('\n'.join(str(x) for x in answer))

提出情報

提出日時
問題 C - N!÷K番目の単語
ユーザ maspy
言語 Python (3.4.3)
得点 100
コード長 950 Byte
結果 AC
実行時間 709 ms
メモリ 18768 KiB

ジャッジ結果

セット名 Sample Subtask1 Subtask2
得点 / 配点 0 / 0 30 / 30 70 / 70
結果
AC × 2
AC × 23
AC × 63
セット名 テストケース
Sample sample_01.txt, sample_02.txt
Subtask1 sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt
Subtask2 sample_01.txt, sample_02.txt, sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask3_01.txt, subtask3_02.txt, subtask3_03.txt, subtask3_04.txt, subtask3_05.txt, subtask3_06.txt, subtask3_07.txt, subtask3_08.txt, subtask3_09.txt, subtask3_10.txt, subtask3_11.txt, subtask3_12.txt, subtask3_13.txt, subtask3_14.txt, subtask3_15.txt, subtask3_16.txt, subtask3_17.txt, subtask3_18.txt, subtask3_19.txt
ケース名 結果 実行時間 メモリ
sample_01.txt AC 31 ms 4248 KiB
sample_02.txt AC 31 ms 4248 KiB
subtask1_01.txt AC 31 ms 4248 KiB
subtask1_02.txt AC 31 ms 4248 KiB
subtask1_03.txt AC 31 ms 4248 KiB
subtask1_04.txt AC 31 ms 4248 KiB
subtask1_05.txt AC 31 ms 4212 KiB
subtask1_06.txt AC 31 ms 4248 KiB
subtask1_07.txt AC 31 ms 4248 KiB
subtask1_08.txt AC 31 ms 4248 KiB
subtask1_09.txt AC 31 ms 4248 KiB
subtask1_10.txt AC 31 ms 4248 KiB
subtask1_11.txt AC 31 ms 4248 KiB
subtask1_12.txt AC 31 ms 4248 KiB
subtask1_13.txt AC 31 ms 4248 KiB
subtask1_14.txt AC 31 ms 4248 KiB
subtask1_15.txt AC 31 ms 4248 KiB
subtask1_16.txt AC 31 ms 4248 KiB
subtask1_17.txt AC 31 ms 4248 KiB
subtask1_18.txt AC 31 ms 4248 KiB
subtask1_19.txt AC 31 ms 4248 KiB
subtask1_20.txt AC 31 ms 4248 KiB
subtask1_21.txt AC 31 ms 4248 KiB
subtask2_01.txt AC 648 ms 17028 KiB
subtask2_02.txt AC 677 ms 17884 KiB
subtask2_03.txt AC 423 ms 12208 KiB
subtask2_04.txt AC 571 ms 15696 KiB
subtask2_05.txt AC 102 ms 5452 KiB
subtask2_06.txt AC 352 ms 10760 KiB
subtask2_07.txt AC 580 ms 15816 KiB
subtask2_08.txt AC 524 ms 14584 KiB
subtask2_09.txt AC 377 ms 11416 KiB
subtask2_10.txt AC 501 ms 14164 KiB
subtask2_11.txt AC 484 ms 13644 KiB
subtask2_12.txt AC 454 ms 13036 KiB
subtask2_13.txt AC 440 ms 12820 KiB
subtask2_14.txt AC 106 ms 5584 KiB
subtask2_15.txt AC 287 ms 9448 KiB
subtask2_16.txt AC 680 ms 17992 KiB
subtask2_17.txt AC 604 ms 16276 KiB
subtask2_18.txt AC 663 ms 17584 KiB
subtask2_19.txt AC 464 ms 13220 KiB
subtask3_01.txt AC 169 ms 6876 KiB
subtask3_02.txt AC 663 ms 17520 KiB
subtask3_03.txt AC 85 ms 5052 KiB
subtask3_04.txt AC 284 ms 9424 KiB
subtask3_05.txt AC 520 ms 14428 KiB
subtask3_06.txt AC 709 ms 18768 KiB
subtask3_07.txt AC 534 ms 14940 KiB
subtask3_08.txt AC 159 ms 6628 KiB
subtask3_09.txt AC 69 ms 4724 KiB
subtask3_10.txt AC 52 ms 4528 KiB
subtask3_11.txt AC 117 ms 5712 KiB
subtask3_12.txt AC 79 ms 4948 KiB
subtask3_13.txt AC 502 ms 14108 KiB
subtask3_14.txt AC 683 ms 17912 KiB
subtask3_15.txt AC 422 ms 12308 KiB
subtask3_16.txt AC 324 ms 10372 KiB
subtask3_17.txt AC 367 ms 11232 KiB
subtask3_18.txt AC 427 ms 12532 KiB
subtask3_19.txt AC 311 ms 10024 KiB