하루하나코딩
백준 14501 : 퇴사 c++
HAHAKO
2023. 3. 6. 20:05
코드
#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 방법이었다.
기억해 두어야 겠다.