공부 서랍장/알고리즘 공부

[백준] 14501번 퇴사 C/C++

만땅이 2020. 11. 12. 16:56

//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);


}

반응형