#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;
}
虽然看了别的讨论,但我还是不会调