Muscardinus
퇴사 본문
728x90
https://www.acmicpc.net/problem/14501
#include <iostream>
#include <algorithm>
using namespace std;
int n;
int t[16] = { 0 };
int p[16] = { 0 };
int result = 0;
void DFS(int day, int currentCost) {
if (day == n + 1) {
result = max(result, currentCost);
}
else {
if (day + t[day] <= n + 1) DFS(day + t[day], currentCost + p[day]);
DFS(day + 1, currentCost);
}
}
int main() {
ios_base::sync_with_stdio(false);
cin >> n;
int i, j;
int time, cost;
for (i = 1; i <= n; i++) {
cin >> time >> cost;
t[i] = time;
p[i] = cost;
}
DFS(1,0);
cout << result << "\n";
return 0;
}
#include <iostream>
#include <algorithm>
using namespace std;
int n;
int t[20];
int p[20];
int dp[20];
int main() {
ios_base::sync_with_stdio(false);
cin >> n;
for (int i = 1; i <= n; i++) cin >> t[i] >> p[i];
for (int i = 1; i <= n; i++) {
if(i+t[i]<=n+1) dp[i + t[i]] = max(dp[i + t[i]], dp[i] + p[i]);
dp[i + 1] = max(dp[i + 1], dp[i]);
}
int answer = 0;
for (int i = 1; i <= n + 1; i++) answer = max(answer, dp[i]);
cout << answer << "\n";
return 0;
}
728x90
'알고리즘 문제 > [삼성 SW 역량 테스트 기출 문제]' 카테고리의 다른 글
시험 감독 (0) | 2020.08.20 |
---|---|
뱀 (0) | 2020.08.19 |
2048(Easy) (0) | 2020.08.18 |
구술탈출 2 (0) | 2020.08.17 |
연산자 끼워넣기 (0) | 2020.08.15 |
Comments