Notice
Recent Posts
문제 풀이 및 개발 공간
[백준] 12865번 평범한 배낭 (gold 5 본문
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st=new StringTokenizer(br.readLine());
int n=Integer.valueOf(st.nextToken());
int k=Integer.valueOf(st.nextToken());
int[] dp=new int[k+1];
int[][] bag=new int[n][2];
for(int i=0; i<n; i++){
st=new StringTokenizer(br.readLine());
bag[i][0]=Integer.valueOf(st.nextToken());
bag[i][1]=Integer.valueOf(st.nextToken());
}
for(int i=0; i<n; i++){
int w=bag[i][0];
int v=bag[i][1];
for(int j=k; j>=1; j--){
if(w==j){
if(dp[j]==0){
dp[j]=v;
}
else{
if(w+j<=k){
dp[j+w]=Math.max(dp[j+w], dp[j]+v);
}
dp[j]=Math.max(dp[j],v);
}
}
else if(dp[j]!=0 && j+w<=k){
dp[j+w]= Math.max(dp[j+w] , dp[j]+v);
}
}
}
int max=0;
for(Integer e : dp){
max= max<e ? e :max;
}
bw.write(max+"");
bw.flush();
}
}
'백준공부 > java' 카테고리의 다른 글
[백준] 17845번 수강 과목 (gold 5 (0) | 2023.09.24 |
---|---|
[백준] 22115번 창영이와 커피 (gold 5 (0) | 2023.09.24 |
[백준] 1822번 차집합 (silver 4 (0) | 2023.09.23 |
[백준] 2294번 동전 2 (gold 5 (0) | 2023.09.23 |
[백준] 2293번 동전 1 (gold 5 (0) | 2023.09.22 |