社区讨论

90分,是WA,不是TLE,马蜂良好

P4026[SHOI2008] 循环的债务参与者 8已保存回复 7

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
7 条
当前快照
1 份
快照标识符
@mhj34dt9
此快照首次捕获于
2025/11/03 19:56
4 个月前
此快照最后确认于
2025/11/03 19:56
4 个月前
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;
int x1,x2,x3,a[7],b[7],c[7],s[7],suma,sumb,sumc,cc[7]={0,100,50,20,10,5,1},f[7][1005][1005];
int main(){cin>>x1>>x2>>x3;for(int i=1;i<=6;i++)cin>>a[i],suma+=a[i]*cc[i],s[i]+=a[i];for(int i=1;i<=6;i++)cin>>b[i],sumb+=b[i]*cc[i],s[i]+=b[i];for(int i=1;i<=6;i++)cin>>c[i],sumc+=c[i]*cc[i],s[i]+=c[i];suma+=x3-x1;sumb+=x1-x2;sumc+=x2-x3;memset(f,0x3f,sizeof(f));f[0][0][0]=0;for(int i=1;i<=6;i++){for(int j=suma;j>=0;j--){for(int k=sumb;k>=0;k--){for(int ii=0;ii<=s[i];ii++){if(j>=ii*cc[i]){for(int jj=0;jj<=s[i]-ii;jj++){if(k>=jj*cc[i]){int c=(abs(a[i]-ii)+abs(b[i]-jj)+abs(a[i]+b[i]-ii-jj))/2;f[i][j][k]=min(f[i][j][k],f[i-1][j-ii*cc[i]][k-jj*cc[i]]+c);}}}}}}}if(f[6][suma][sumb]==0x3f)cout<<"impossible";else cout<<f[6][suma][sumb];}

回复

7 条回复,欢迎继续交流。

正在加载回复...