Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
73659 | 陈星云 | 货币面值 | C++ | 通过 | 100 | 0 MS | 288 KB | 418 | 2023-04-08 10:30:42 |
#include<bits/stdc++.h> using namespace std; int dp[100001],c[100001]; int main() { int n,i,j,k,v,w; while(cin>>n) { for(i=1;i<=n;i++) cin>>c[i]; for(i=1;i<=10005;i++) dp[i]=-100001; dp[0]=0; for(i=1;i<=n;i++) for(j=10001;j>=c[i];j--) dp[j]=max(dp[j],dp[j-c[i]]+c[i]); for(i=1;i<=10001;i++) if(dp[i]<0) { cout<<i<<endl; break; } } }