0分全W,求调
查看原帖
0分全W,求调
1271070
Wh1spers0fTheW1nd楼主2024/8/28 13:02
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int n,m,v[10005],w[10005],s[10005],dp[1005];
inline int read(){
	int x=0,f=1;
	char ch=getchar();
	while(ch<'0' || ch>'9'){
		if (ch=='-')
			f=-1;
		ch=getchar();
	}
	while(ch>='0' && ch<='9'){
		x=(x<<1)+(x<<3)+(ch^48);
		ch=getchar();
	}
	return x*f;
}
int main(){
	int h1,m1,h2,m2;
	scanf("%d:%d%d:%d%d",&h1,&m1,&h2,&m2,&n);
	m=abs((h2*60+m2)-(h1*60+m1));
	cout<<m<<"\n";
	for(int i=1;i<=n;i++){
		cin>>v[i]>>w[i]>>s[i];
		if(!s[i])s[i]=2e9;
	}
	for(int i=1;i<=n;i++){
		for(int j=m;j>=1;j--){
			for(int k=0;k<=s[i] && j>=k*v[i];k++){
				dp[j]=max(dp[j],dp[j-k*v[i]]+w[i]*k);
			}
		}
	}
	cout<<dp[m];
	return 0;
}

2024/8/28 13:02
加载中...