[백준] 14501. 퇴사

고재욱·2021년 10월 4일

Baekjoon

목록 보기
19/35

❓ 문제 ❓
퇴사

💯 문제 풀이 💯
브루트포스로 모든 일정들을 다 탐색해서 그 중 최댓값을 답으로 지정했다.

#include <iostream>
#include <algorithm>
using namespace std;
int time[20];
int price[20];
int answer = 0;
int n;

void dfs(int day, int sum){
	answer = max(answer, sum);
	if (day == n + 1)
		return;
	if (day + time[day] <= n + 1)
		dfs(day + time[day], sum + price[day]);
	if (day + 1 <= n)
		dfs(day + 1, sum);
}

int main() {
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> time[i] >> price[i];
	}

	dfs(1, 0);
	cout << answer;
}

0개의 댓글