[백준/C++] 퇴사

최대 1 분 소요

문제

14501

풀이

순회하며 최대 일수를 넘으면 반환해주도록 하면 된다.

#include <iostream>
#include <algorithm>
using namespace std;

int N, MAX = -1;
int table[2][15];

void traverse(int day, int cost)
{
	if(day > N) return;

	MAX = max(MAX, cost);

	for(int i = day; i < N; ++i)
		traverse(i + table[0][i], cost + table[1][i]);
}

int main()
{
	cin >> N;
	for(int i = 0; i < N; ++i)
		cin >> table[0][i] >> table[1][i];

	traverse(0, 0);

	cout << MAX;
	return 0;
}

댓글남기기