为什么全 RE 呀?
  • 板块P1833 樱花
  • 楼主Pigsyy
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/8/14 10:26
  • 上次更新2023/11/3 03:57:24
查看原帖
为什么全 RE 呀?
936147
Pigsyy楼主2023/8/14 10:26

第一个数据本地测试没问题~~~

#include <bits/stdc++.h>
#define int long long

using namespace std;

signed main()
{
	int Start_Hour, Start_Minute, Finish_Hour, Finish_Minute, Tree;

	scanf("%d:%d%d:%d%d", &Start_Hour, &Start_Minute, &Finish_Hour, &Finish_Minute, &Tree);

	int Available_Time = (Finish_Hour * 60 + Finish_Minute) - (Start_Hour * 60 + Start_Minute);
	std::vector<int> DP(Available_Time + 1000, 0);
	for (int i = 1; i <= Tree; i ++)
	{
		int w, v, s;
		scanf("%d%d%d", &w, &v, &s);

		if (!s)
		{
			for (int j = w; j <= Available_Time; j ++)
				DP[j] = max(DP[j], DP[j - w] + v);
		}
		else
		{
			for (int k = 1; k <= s; k *= 2)
			{
				for (int j = Available_Time; j >= w * k; j --)
					DP[j] = max(DP[j], DP[j - w * k] + v * k);
				s -= k;
			}
			if (s)
			{
				for (int j = Available_Time; j >= w * s; j --)
					DP[j] = max(DP[j], DP[j - w * s] + v * s);
			}
		}
	}

	cout << DP[Available_Time] << endl;

	return 0;
}
2023/8/14 10:26
加载中...