提出 #14229099


ソースコード 拡げる

import sys
import numpy as np
from numba import njit

read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines

@njit('(i8[::1],)', cache=True)
def update(A):
    N = len(A)
    B = np.zeros_like(A)
    for i, x in enumerate(A):
        l = max(0, i - x)
        r = min(N - 1, i + x)
        B[l] += 1
        if r + 1 < N:
            B[r + 1] -= 1
    B = np.cumsum(B)
    return B

N, K = map(int, readline().split())
A = np.array(read().split(), np.int64)

K = min(K, 100)
for _ in range(K):
    A = update(A)
print(' '.join(A.astype(str)))

提出情報

提出日時
問題 C - Lamps
ユーザ maspy
言語 Python (3.8.2)
得点 500
コード長 620 Byte
結果 AC
実行時間 721 ms
メモリ 147904 KiB

ジャッジ結果

セット名 $Sample All
得点 / 配点 0 / 0 500 / 500
結果
AC × 2
AC × 23
セット名 テストケース
$Sample sample01.txt, sample02.txt
All sample01.txt, sample02.txt, in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, sample01.txt, sample02.txt
ケース名 結果 実行時間 メモリ
in01.txt AC 721 ms 146792 KiB
in02.txt AC 696 ms 145568 KiB
in03.txt AC 695 ms 146372 KiB
in04.txt AC 699 ms 147636 KiB
in05.txt AC 698 ms 145520 KiB
in06.txt AC 690 ms 144948 KiB
in07.txt AC 692 ms 144300 KiB
in08.txt AC 701 ms 147832 KiB
in09.txt AC 652 ms 145160 KiB
in10.txt AC 657 ms 147904 KiB
in11.txt AC 645 ms 144100 KiB
in12.txt AC 643 ms 145644 KiB
in13.txt AC 646 ms 143964 KiB
in14.txt AC 648 ms 144452 KiB
in15.txt AC 658 ms 145596 KiB
in16.txt AC 660 ms 145644 KiB
in17.txt AC 655 ms 145940 KiB
in18.txt AC 640 ms 143488 KiB
in19.txt AC 646 ms 144536 KiB
sample01.txt AC 462 ms 105768 KiB
sample02.txt AC 463 ms 106192 KiB