본문 바로가기
JAVA

백준 14501 JAVA

by Son 2024. 10. 7.

https://www.acmicpc.net/problem/14501

 

import java.io.*;
import java.util.*;

public class Main {
	
	static int max=0;
	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in);
		int Case = sc.nextInt();
		int[] T = new int[Case];//소요 기간
		int[] P = new int[Case];//금액
		for(int i=0;i<Case;i++) {
			T[i]=sc.nextInt();	
			P[i]=sc.nextInt();	
		}//for
		
		int[] dp = new int[Case+1];
		
		for(int i=0;i<Case;i++) {
			 if(i+T[i]<=Case) {	//범위에 벗어나지 않는다면 
				 dp[i+T[i]]=Math.max(dp[i+T[i]],dp[i]+P[i]);	
			 }//if
			 dp[i+1]=Math.max(dp[i+1],dp[i]);	//다음dp=현재 누적값vs 다음 누적값
			 
		}//for	
		System.out.println(dp[Case]);	
	}//main()
	
}//class Main

'JAVA' 카테고리의 다른 글

백준 14225 JAVA  (0) 2025.01.26
백준 1987 JAVA  (0) 2024.09.12
백준 4574 Java  (0) 2024.07.19
백준 2580번 JAVA  (1) 2024.07.15
백준 9663번 JAVA  (0) 2024.06.30