https://www.acmicpc.net/problem/14501

 

14501번: 퇴사

첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다.

www.acmicpc.net

 

 

 

#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

+ Recent posts