//C/C++ 백준 퇴사
//www.acmicpc.net/problem/14501
#include<iostream>
#include<cstring>
using namespace std;
int n;
int t[15] = { 0, };
int p[15] = { 0, };
int result=0;
int money[16] = { 0, };
int sol() {
for (int i = 1; i < n+1;i++) {
if (t[i]+i<=n+1) {
//오늘 스케줄 하면, 저먼 미래의 돈과랑 돈합산한거랑, 비교
money[i + t[i]] = max(money[i + t[i]], money[i]+p[i]);
result = max(result, money[i + t[i]]);
}
//오늘 스케줄 안하면, money[i + 1]
money[i + 1] = max(money[i + 1], money[i]);
result = max(result, money[i + t[i]]);
}
return 0;
}
int main() {
scanf_s("%d", &n);
for (int i = 1; i < n+1; i++) {
scanf_s("%d %d", &t[i], &p[i]);
}
sol();
printf("%d", result);
}
반응형
'공부 서랍장 > 알고리즘 공부' 카테고리의 다른 글
[프로그래머스] 소수만들기 python (0) | 2022.09.06 |
---|---|
[프로그래머스] 모의고사 python (0) | 2022.09.06 |
[프로그래머스] 오픈채팅방 python (0) | 2022.09.06 |
[백준] 16236번 아기상어 C/C++ (0) | 2020.11.15 |
[백준] 14503번 로봇청소기 C/C++ (0) | 2020.11.13 |