728x90
반응형
문제는 다음과 같습니다.
https://www.acmicpc.net/problem/14501
import java.util.Scanner; public class Test14501 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] t = new int[16]; //상담을 처리해야하는 기간 int[] p = new int[16]; //상담 완료 후 받을 수 있는 금액 int[] dp = new int[16]; //얻을 수 있는 최대 수익 for(int i=1; i<=n; i++){ t[i] = sc.nextInt(); p[i] = dp[i] = sc.nextInt(); } for(int i=2; i<=n; i++){ for(int j=1; j<i; j++){ if(t[j]<=i-j){ dp[i] = Math.max(p[i]+dp[j], dp[i]); } } } int max=0; for(int i=1; i<=n; i++){ if(t[i]+i<=n+1){ if(max<dp[i]){ max = dp[i]; } } } System.out.println(max); sc.close(); } }
결과는 다음과 같습니다.
728x90
반응형
'프로그래밍 > 알고리즘' 카테고리의 다른 글
백준 알고리즘 2579번 계단오르기!! (0) | 2017.10.11 |
---|---|
백준 알고리즘 1924번 2007년!! (0) | 2017.10.11 |
백준 알고리즘 8958번 OX퀴즈!! (0) | 2017.10.07 |
백준 알고리즘 2577번 숫자의 개수 !! (0) | 2017.10.07 |
백준 알고리즘 1149번 RGB거리!! (0) | 2017.10.07 |