서의 공간

[백준] 14501_퇴사 본문

Algorithm/백준

[백준] 14501_퇴사

홍서의 2020. 11. 27. 02:02

[문제]: 14501번: 퇴사 (acmicpc.net)

 

아아아

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

vector<pair<int, int>> TP;
vector<int> dp(16, 0);

int MaxRevenue(int n)
{
	int result = 0;
	for (int i = 1; i <= n; i++) {
		if (i + TP[i].first <= n + 1) {
			dp[i + TP[i].first] = max(dp[i + TP[i].first], dp[i] + TP[i].second);
			result = max(result, dp[i + TP[i].first]);
		}
		dp[i + 1] = max(dp[i + 1], dp[i]);
		result = max(result, dp[i + 1]);
	}
	return result;
}

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);
	cout.tie(nullptr);
	TP.push_back(make_pair(0, 0));
	int N;
	cin >> N;
	for(int i = 0; i < N; ++i){
		int T, P;
		cin >> T >> P;
		TP.push_back(make_pair(T, P));
	}
	cout << MaxRevenue(N) << '\n';
	system("pause");
	return 0;
}

'Algorithm > 백준' 카테고리의 다른 글

[백준] 1676_팩토리얼 0의 개수  (0) 2020.11.30
[백준] 10826_피보나치 수 4  (0) 2020.11.27
[백준] 1463_1로 만들기  (0) 2020.11.26
[백준] 17626_Four Squares  (0) 2020.11.26
[백준] 9625_BABBA  (0) 2020.11.25
Comments