반응형
14501번: 퇴사
첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다.
www.acmicpc.net
풀이 )
각 일차를 확인하면서 최대 이익을 저장하는 배열 dp에 최대이익을 갱신하면서 저장한다.
#include <iostream>
using namespace std;
int max(int a, int b) {
return a >= b ? a : b;
}
int main() {
int n;
int dp[16] = { 0, };
int t[16] = { 0, };
int p[16] = { 0, };
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> t[i] >> p[i];
}
for (int i = 1; i <= n; i++) {
int temp = 0;
for (int j = 1; j <= i; j++) {
if (i - j >= 0)
if(j >= t[i - j + 1]) {
dp[i] = max(temp, dp[i - j] + p[i - j + 1]);
temp = dp[i];
}
}
}
cout << dp[n] << endl;
return 0;
}
반응형
'문제풀이 > 백준' 카테고리의 다른 글
[C++] 백준 - 5014 : 스타트링크 (0) | 2020.04.05 |
---|---|
[C++] 백준 - 14889 : 스타트와 링크 (0) | 2020.04.02 |
[C++] 백준 - 3190 : 뱀 (0) | 2020.04.01 |
[C++] 백준 - 2011 : 암호코드 (0) | 2020.03.28 |
[C++] 백준 - 16282 : Black Chain (0) | 2020.03.27 |