ログインしてください。
提出 #31632219
ソースコード 拡げる
import sys
import numpy as np
def solve(s):
#s = input()
#sl = list(input().split())
n, k = s[:2]
h = s[2:]
#ここにコード
dp = np.full(n, 10**10, np.int64)
dp[0] = 0
for i in range(n):
dp[i:i+k+1] = np.minimum(dp[i:i+k+1], dp[i]+np.abs(h[i:i+k+1]-h[i]))
#N = 1のときなどcorner caseを確認!
return dp[-1]#answer
def main():
stdin = np.fromstring(open(0).read(), dtype=np.int64, sep=' ')
# stdin = np.fromstring(IN, dtype=np.int64, sep=' ')
print(solve(stdin))
def cc_export():
from numba.pycc import CC
cc = CC('my_module')
cc.export('solve', '(i8[:],)')(solve)
cc.compile()
if __name__ == "__main__":
if sys.argv[-1] == 'ONLINE_JUDGE':
cc_export()
sys.exit(0)
from my_module import solve # type: ignore
main()
提出情報
| 提出日時 | |
|---|---|
| 問題 | B - Frog 2 |
| ユーザ | denovo2021 |
| 言語 | Python (3.8.2) |
| 得点 | 100 |
| コード長 | 882 Byte |
| 結果 | AC |
| 実行時間 | 134 ms |
| メモリ | 28380 KiB |
ジャッジ結果
| セット名 | All | ||
|---|---|---|---|
| 得点 / 配点 | 100 / 100 | ||
| 結果 |
|
| セット名 | テストケース |
|---|---|
| All | 0_00, 0_01, 0_02, 0_03, 1_00, 1_01, 1_02, 1_03, 1_04, 1_05, 1_06, 1_07, 1_08, 1_09, 1_10, 1_11 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 0_00 | AC | 110 ms | 27144 KiB |
| 0_01 | AC | 107 ms | 26860 KiB |
| 0_02 | AC | 108 ms | 26896 KiB |
| 0_03 | AC | 105 ms | 27016 KiB |
| 1_00 | AC | 107 ms | 26852 KiB |
| 1_01 | AC | 106 ms | 27108 KiB |
| 1_02 | AC | 115 ms | 27860 KiB |
| 1_03 | AC | 134 ms | 28380 KiB |
| 1_04 | AC | 118 ms | 28220 KiB |
| 1_05 | AC | 115 ms | 28048 KiB |
| 1_06 | AC | 120 ms | 28288 KiB |
| 1_07 | AC | 127 ms | 28208 KiB |
| 1_08 | AC | 120 ms | 28276 KiB |
| 1_09 | AC | 123 ms | 27900 KiB |
| 1_10 | AC | 131 ms | 28116 KiB |
| 1_11 | AC | 132 ms | 28108 KiB |