#include<bits/stdc++.h>
using namespace std;
int sh,sm,eh,em,tim,c[100100],ti[100100],m,n,dp[1010];
char tmp;
int main(){
cin >> sh >> tmp >> sm >> eh >> tmp >> em >> m;
tim = (eh - sh - 1) * 60 + 60 + em - sm;
for(int i = 1,tc,tt,tp,ep;i <= m;i ++){
cin >> tt >> tc >> tp;
ep = tt * tp;
if(tp == 0){
while(tt <= tim){
n ++;
c[n] = tc;
ti[n] = tt;
tc <<= 1;
tt <<= 1;
}
}else{
while(tt <= ep){
n ++;
c[n] = tc;
ti[n] = tt;
tc <<= 1;
tt <<= 1;
}
}
}
for(int i = 1;i <= n;i ++){
for(int j = tim;j >= 1;j --){
if(j >= ti[i]){
dp[j] = max(dp[j],dp[j - ti[i]] + c[i]);
}
}
}
cout << dp[tim];
return 0;
}
提交记录