为什么输出全是0?
查看原帖
为什么输出全是0?
361803
☜张家瑞☞楼主2021/7/8 10:21
#include<bits/stdc++.h>
using namespace std;
int h1,h2,m1,m2,m,n;
int t[10005],c[10005],p[10005],a[10005];
char d;
int main(){
	scanf("%d%c%d",&h1,&d,&m1);
	scanf("%d%c%d",&h2,&d,&m2);
	m=(h1*60+m1)-(h2*60+m2);
	cin>>n;
	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=1;j<=p[i];j++)
				for(int k=m;k>=t[i];k--)
					a[k]=max(a[k],a[k-t[i]]+c[i]);
		else 
			for(int j=t[i];j<=m;j++)
				a[j]=max(a[j],a[j-t[i]]+c[i]);
	}
	printf("%d",a[m]);
	return 0;
}

2021/7/8 10:21
加载中...