本地可以运行,洛谷上CE
  • 板块P1833 樱花
  • 楼主cui_can
  • 当前回复5
  • 已保存回复5
  • 发布时间2021/7/31 15:42
  • 上次更新2023/11/4 12:23:47
查看原帖
本地可以运行,洛谷上CE
444267
cui_can楼主2021/7/31 15:42

检查了无数次,依然CE,求助!

CE

#include<bits/stdc++.h>
using namespace std;
int st,ar,en,d,n,s,index,ans;
int f[1000005];
struct node{
	int t,c,p;
}a[10005];
void calctime(){
	s=(en-st)*60+(d-ar);
}
int main(){
	scanf("%d:%d%d:%d%d",&st,&ar,&en,&d,&n);
	calctime(); 
	index=n;
	for(int i=1;i<=n;i++){
		int c=1;
		scanf("%d%d%d",&a[i].t,&a[i].c,&a[i].p);
		if(!a[i].p)a[i].p=1e6;
		while(a[i].p>c){
			a[i].p-=c;
			a[++index].t=a[i].t*c;
			a[index].c=a[i].c*c;
			c*=2;
		}
		a[i].t*=a[i].p;
		a[i].c*=a[i].p;
	}
	for(int i=1;i<=index;i++){
		for(int j=s;j>=a[i].t;j--)
			f[j]=max(f[j],f[j-a[i].t]+a[i].c);
	}
	for(int i=1;i<=s;i++)
		if(ans<f[i])ans=f[i];
	printf("%d\n",ans);
	return 0;
}

2021/7/31 15:42
加载中...