5483 : 마법 배낭 ![공유 QQ 공간](http://www.tzcoder.cn/acmhome/forum/images/ico_qzone.gif)
시간 제한 (일반 / 자바) : 1000MS / 3000MS 메모리 제한 : 65536KByte
총 제출 : 시험 197에 의하여 : 28
코드보기
총 제출 : 시험 197에 의하여 : 28
기술
종래 마법 배낭, 용량은 가장 추구, 볼륨이 어느 아이템에 설치 될 수 잔량 동일 m보다 큰 경우는, 즉을 마법, 또한 다른 특성 m을 가지며, n은 당신은 많은 가치 항목을 저장할 수?
기입
우선 입력 N, m, t (0 <= N, m, t <= 1000), V, W 개의 정수 t 행 하였다 (0 <= (V) w <= 1000000) 및 볼륨을 나타내는 값.
수출
최대 출력은 매우 값 행당 테스트 케이스 출력을 보유 할 수있다.
샘플 입력
샘플 출력
8
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
. (1) #INCLUDE <비트 / STDC ++ H.> 2 은 USING 스페이스 STD] . (3) (4). INT N-, m, T, 맥스] . 5 INT DP [ 1005 ], DPP [ 1005 ] . 6 구조체 노드 { 7. INT의 W, V] . 8 } A [ 1005 ] . 9 10 BOOL CMP (노드 A, 노드 B) { . 11 IF (! AV = BV) 복귀 AV> BV; //는 첫번째 값에 따라 정렬 (12)는 복귀 AW> BW; // 웨이트 (13) } (14) (15) int로 주 () 16 { 17 IOS를 :: sync_with_stdio ( 거짓을 ); 18 CIN N >> >> >> m t; 19 대 ( 하는 int 난 = 1 ; I <t = I ++, D1, D2를 {) 20 CIN >> >> D1 D2; 21 A [I] = {D1, D2}; 22 } 23 정렬 (A + 1 , A + 1 + t, CMP); 24 대 ( INT 나 = 1 ; i가 <= t; I ++ ) { 25 일 경우 (! I = 1 ) { 26 대 ( INT K = 나노 미터; K> = A [I]를 .W; K는 -) { // m에게 최대 값 방전하는데 사용되는 공간에 저장된 27 DPP [K] = 최대 (DPP [K], DPP를 [ 카행 [I]는 .W] + A [I] .V); 28 } 29 } 30 대 ( INT K = N-, K> = A [I] .W; K--는 ) { 31은 DP [K] = 최대 (DP [K, DP [카행 [I]는 .W] + A [I] .V) (32) } (33)이다 } 34는 위해 ( INT I = . 1 DPP [I] + A =; I <= 내지 I ++) [ . 1 ] .V; // 추가 35 INT의 RES = 0 ; 36 대 ( INT I = 1. ; I <= N-; I ++ ) { 37 INT 맥스, 38 인 , 맥스 = 최대 (DP [I], DPP [I]) // 두 비교 39 RES를 = 최대 (RES, 맥스 ) (40) } (41)가 COUT RES << << ENDL는, 42는 창 0 ; 43이다 }