100分求调
  • 板块P1833 樱花
  • 楼主Luckies
  • 当前回复6
  • 已保存回复6
  • 发布时间2022/12/1 21:51
  • 上次更新2023/10/27 00:48:50
查看原帖
100分求调
520338
Luckies楼主2022/12/1 21:51
#include<bits/stdc++.h>
using namespace std;
const int N = 1e4 + 5, T = 1e3 + 5;
int n, m, t[N], c[N], p[N], dp[T], x1, x2, f1, f2;
char b;
int main()
{
	cin >> x1 >> b >> f1;
	cin >> x2 >> b >> f2;
	cin >> n;
	m = (x2 - x1) * 60 + (f2 - f1);
	for (int i = 1; i <= n; i++)
		cin >> t[i] >> c[i] >> p[i];
	for (int i = 1; i <= n; i++)
		if (p[i] == 0)
			for (int j = t[i]; j <= m; j++)
				dp[j] = max(dp[j], dp[j - t[i]] + c[i]);
		else
			for (int j = m; j >= 0; j--)
				for (int k = 1; k <= p[i]; k++)
					if (j >= k * t[i])
						dp[j] = max(dp[j], dp[j - k * t[i]] + k * c[i]);
	cout << dp[m];
	return 0;
}

虽然看了别的讨论,但我还是不会调

2022/12/1 21:51
加载中...