본문 바로가기

하루하나코딩

백준 14501 : 퇴사 c++

코드

#include <iostream>
#include <algorithm>

using namespace std;

int t[16];
int p[16];
int dp[16];

int main(){

	int n;
	cin >> n;
	
	
	int idx = 0;
	
	for(int i = 1; i <= n; i++){
		cin >> t[i] >> p[i];	
	}
	
	for(int i  = n; i > 0; i--){
		idx = i + t[i];
		if(idx > n+1){
			dp[i] = dp[i+1];
		}
		else{
			dp[i] = max(dp[i+1], dp[idx] + p[i]);
		}
	}
	
	cout << dp[1] << endl;
	
	return 0;
}

알게된 점

탑다운 dp 방법이었다.

기억해 두어야 겠다.

'하루하나코딩' 카테고리의 다른 글

Github 업로드 시작  (0) 2023.03.28
백준 1759 : 암호만들기 c++  (0) 2023.03.06
백준 9095 : 1, 2, 3 더하기 c++  (0) 2023.03.06
프로그래머스 : 입국심사 c++  (0) 2023.02.22
백준 1654 : 랜선 자르기 python  (0) 2023.02.21