| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1355377 | li1005345206 | Knapsack (NOI18_knapsack) | Pypy 3 | 1101 ms | 198888 KiB |
import os
import sys
input=lambda:sys.stdin.readline().strip()
minput=lambda:map(int,input().split())
S,N=minput()
kvw=[minput() for i in range(N)]
dp = [[0] * (S + 1) for _ in range(2)]
ind = 0
while kvw:
V,W,K=kvw.pop()
base = 1
if K > 2047:
K = 2047
while K > 0:
if K >= base:
K -= base
else:
base = K
K = 0
v = V * base
w = W * base
prev = ind & 1
ind = (ind + 1) & 1
for j in range(S + 1):
dp[ind][j] = dp[prev][j]
if j >= w:
dp[ind][j] = max(dp[ind][j], dp[prev][j - w] + v)
base <<= 1
print(max(map(max, dp)))
컴파일 시 표준 출력 (stdout) 메시지
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
