还有一个点没过,求助QWQ

P2347 [NOIP1996 提高组] 砝码称重

``` #include<iostream> using namespace std; bool dp[300000]; int w[7]={0,1,2,3,5,10,20},total=0; int s[300000],ans=0,b[10000]; int main() { int n=6,m; for(int i=1;i<=n;i++) scanf("%d",&s[i]),total+=s[i]*w[i]; for(int i=1;i<=n;i++) if(s[i]>0) dp[w[i]]=1; for(int i=1;i<=n;i++) for(int k=1;k<=s[i];k++) for(int j=total;j>0;j--) if(dp[j]==1) dp[j+w[i]]=1; for(int i=1;i<=total;i++) if(dp[i]==1)ans++; cout<<"Total="<<ans; return 0; } ```
by KH4105 @ 2022-05-01 19:15:27


|