40分求救!
  • 板块P1833 樱花
  • 楼主hxydz
  • 当前回复2
  • 已保存回复2
  • 发布时间2025/8/30 21:21
  • 上次更新2025/8/31 12:47:26
查看原帖
40分求救!
1083835
hxydz楼主2025/8/30 21:21
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll ts1,ts2,te1,te2,zsj,n,t[10010],c[10010],p[10010],dp[1010];
char x;
int main(){
    scanf("%d:%d %d:%d %d",&ts1,&ts2,&te1,&te2,&n);
    //cin>>ts1>>x>>ts2>>te1>>x>>te2>>n;
	for(ll i=1;i<=n;i++)
		cin>>t[i]>>c[i]>>p[i];
	zsj=60*(te1-ts1)+(te2-ts2);
	for(ll i=1;i<=n;i++)
		if(p[i]==0)
			for(ll j=t[i];j<=zsj;j++)
				dp[j]=max(dp[j],dp[j-t[i]]+c[i]);
		else
		    for(ll j=1;j<=p[i];j++)
		    	for(ll k=j*t[i];k<=zsj;k++) 
					dp[k]=max(dp[k],dp[k-t[i]]+c[i]);
	cout<<dp[zsj];
    return 0;
}
2025/8/30 21:21
加载中...