https://www.acmicpc.net/problem/14501
#include "bits/stdc++.h"
using namespace std;
//퇴사
int n, maxi;
pair<int, int> arr[15];
void recursive(int start, int sum) {
if (start >= n) {
if (sum > maxi) maxi = sum;
return;
}
for (int i=start; i<n; i++) {
if (i+arr[i].first <= n) {
recursive(i+arr[i].first, sum+arr[i].second);
}
else {
recursive(i+arr[i].first, sum);
}
}
}
int main() {
cin >> n;
for (int i=0; i<n; i++) {
cin >> arr[i].first >> arr[i].second;
}
recursive(0, 0);
printf("%d", maxi);
}
'정보올림피아드-KOI > BOJ' 카테고리의 다른 글
백준 - 암호만들기 (0) | 2022.03.19 |
---|---|
백준 - 부분수열의 합 (0) | 2022.03.19 |
백준 - 로또 (0) | 2022.03.19 |
백준 숫자카드 - 이분탐색 (0) | 2022.03.18 |
백준 1,2,3 더하기 (브루트 포스) (0) | 2022.03.18 |