C++/백준 C++

C++ 15486 퇴사 2 [DP]

CE : 하랑 2024. 10. 25. 14:55

 

 

 

DP[1] = 0;

DP[2] =0;

DP[3] =0;

DP[4] =10; -> 10  VS 10 + 현재 페이 (0) 

 

코드

#include <iostream>
#include <vector>
#include <algorithm>


int main()
{
	std::vector<int> DP;
	int MaxResult = 0;
	int CurP = 0;

	int n;

	std::cin >> n;

	DP.resize(n + 1);

	for (int i = 0; i < n; i++)
	{
		int t, p;
		std::cin >> t >> p;

		CurP = std::max(CurP, DP[i]);

		if (i + t > n)
		{
			continue;
		}

		DP[i + t] = std::max(DP[i + t], CurP + p);

		MaxResult = std::max(MaxResult, DP[i + t]);
	}
	
	std::cout << MaxResult << "\n";

	return 0;
	
}