RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
R03336

Unbounded Knapsack

Silver II 실버 II
난이도
2s
시간 제한
256MB
메모리 제한
0
맞았습니다!!
0
제출 수
0.0%
정답률
레이팅

의견: 0

설명

어느 날, 골드는 보안이 허술한 보석상에 침입했습니다. 보석상에는 총 N 종류의 보석들이 진열되어 있습니다.

각 보석은 저마다의 무게 w_i와 가치 v_i를 가지고 있습니다.

보석상에는 각 종류의 보석이 무한히 많이 쌓여 있어서, 골드는 가방이 버틸 수만 있다면 같은 종류의 보석을 몇 개든 원하는 만큼 가방에 담을 수 있습니다.

골드가 가져간 배낭은 최대 W만큼의 무게를 버틸 수 있습니다.

골드가 가방에 담은 보석들의 총 무게가 W를 넘지 않으면서, 가방에 담긴 보석들의 총 가치의 합을 최대화하는 프로그램을 작성하시오.

입력

첫째 줄에 보석의 종류 N과 배낭이 버틸 수 있는 최대 무게 W가 공백을 사이에 두고 주어진다.

둘째 줄부터 N개의 줄에 걸쳐 각 보석의 무게 w_i와 가치 v_i가 공백을 사이에 두고 주어진다.

출력

첫째 줄에 골드가 가방에 담을 수 있는 보석의 최대 가치 합을 출력한다.

제한 사항
  • 1 ≤ N ≤ 1,000

  • 1 ≤ W ≤ 10,000

  • 1 ≤ w_i ≤ W

  • 1 ≤ v_i ≤ 1,000,000

제약
입력 형식

First line \(N\) and \(W\); then \(N\) lines each with \(w_i\) and \(v_i\) (\(1 \le N \le 1000\), \(1 \le W \le 10000\), \(1 \le w_i \le W\), \(1 \le v_i \le 10^6\)).

출력 형식

Print the maximum achievable total value.

예제 1
입력
3 10
2 5
3 9
4 11
출력
29
문제 정보

riseoj 작성

출처 Online Judge > GoldOJ

태그
#DP

평가 및 의견

Unbounded Knapsack

개요
출제자 난이도 Silver II 실버 II 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Unbounded Knapsack

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8