結果
| 問題 |
No.914 Omiyage
|
| コンテスト | |
| ユーザー |
yassu0320
|
| 提出日時 | 2021-07-11 13:54:50 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 83 ms / 2,000 ms |
| コード長 | 1,282 bytes |
| コンパイル時間 | 254 ms |
| コンパイル使用メモリ | 82,264 KB |
| 実行使用メモリ | 71,424 KB |
| 最終ジャッジ日時 | 2024-07-02 03:03:24 |
| 合計ジャッジ時間 | 2,747 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 18 |
ソースコード
#!/usr/bin/env python3
from sys import setrecursionlimit, stdin
from typing import Dict, Iterable, Set
INF: int = 2**62
MOD: int = 10**9 + 7
setrecursionlimit(10**6)
def inputs(type_=int):
ins = input().split(' ')
ins = [x for x in ins if x != '']
if isinstance(type_, Iterable):
return [t(x) for t, x in zip(type_, ins)]
else:
return list(map(type_, ins))
def input_(type_=int):
a, = inputs(type_)
return a
inputi = input_
def inputstr():
return input_(str)
# b/aの切り上げ
def ceil(b, a):
return (a + b - 1) // a
def answer(res) -> None:
print(res)
exit()
def compute():
return
def main():
n, m, k = inputs()
xs = [None for _ in range(n)]
for i in range(n):
xs[i] = inputs()
xs = [[0] * m] + xs
n += 1
dp = [[False] * (k + 1) for _ in range(n)]
dp[0][0] = True
for i in range(1, n):
for j in range(k + 1):
for s in range(m):
if dp[i-1][j] and j + xs[i][s] <= k:
dp[i][j + xs[i][s]] = True
# from pprint import pprint
# pprint(dp)
for j in reversed(range(k + 1)):
if dp[-1][j]:
print(k - j)
exit()
print(-1)
if __name__ == '__main__':
main()
yassu0320