奇怪的东西
  • 板块P1833 樱花
  • 楼主jess1ca1o0g3
  • 当前回复11
  • 已保存回复11
  • 发布时间2023/10/12 21:30
  • 上次更新2023/11/2 14:13:35
查看原帖
奇怪的东西
1011579
jess1ca1o0g3楼主2023/10/12 21:30

CE,如果用cin cout就没问题,用scanf printf就CE,求调。

#include<cstdio>
#include<cmath>
int f[10005],t[10005],c[10005],p[10005],n,s1,s2,e1,e2,ti;
int time(int a1,int a2,int b1,int b2){
	if(b2<a2) b2+=60,b1--;
	return (b1-a1)*60+(b2-a2);
}
void bag(){
	for(int i=1;i<=n;i++){
		if(p[i]==0) for(int j=t[i];j<=ti;j++) f[j]=std::max(f[j],f[j-t[i]]+c[i]);
		else for(int j=1;j<=p[i];j++) for(int k=ti;k>=t[i];k--) f[k]=std::max(f[k],f[k-t[i]]+c[i]);
	}
}
void work(){
	scanf("%d:%d%d:%d%d",&s1,&s2,&e1,&e2,&n);
	ti=time(s1,s2,e1,e2);
	for(int i=1;i<=n;i++) scanf("%d%d%d",&t[i],&c[i],&p[i]);
	bag();
	printf("%d",f[ti]);
}
int main(){
	work();
	return 0;
}
2023/10/12 21:30
加载中...