728x90
반응형
#include <iostream>
#include <vector>
using namespace std;
int n;
vector<int> t, p;
int result = 0;
void work(int k, int tot){ // k일에 일 시작함, total 금액
int day = k + t[k]; // 다음 일할 수 있는 날
if(tot > result && day <= n) result = tot;
if(day >= n) return;
for(int i=day; i<n; i++){
work(i, tot + p[i]);
}
}
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n;
for(int i=0; i<n; i++){
int x, y;
cin >> x >> y;
t.push_back(x);
p.push_back(y);
}
for(int i=0; i<t.size(); i++){
work(i, p[i]);
}
cout << result;
return 0;
}
728x90
반응형
'알고리즘 > 백트래킹' 카테고리의 다른 글
[백준/구현/백트래킹/C++] 15686번 치킨배달 (삼성 SW 역량 테스트 기출) (0) | 2023.01.19 |
---|---|
[백준/구현/백트래킹/C++] 1759번 암호 만들기 (0) | 2023.01.18 |
[백준/백트래킹/C++] 15661번 링크와 스타트 * (0) | 2023.01.18 |
[백준/백트래킹/C++] 14888번 연산자 끼워넣기 (삼성 SW 역량 테스트 기출) (0) | 2023.01.13 |
[백준/백트래킹/C++] 14889번 스타트와 링크 (삼성 SW 역량 테스트 기출) (0) | 2023.01.13 |