Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
143365 | jiayou | 货币面值 | C++ | 通过 | 100 | 0 MS | 240 KB | 596 | 2024-04-14 09:35:10 |
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; int dp[10000+5]; int a[100+5]; int main(){ int n; while(scanf("%d",&n)!=EOF){ int MAX=0; memset(dp,0,sizeof(dp)); for (int i=1;i<=n;i++){ scanf("%d",&a[i]); MAX+=a[i]; } for (int i=1;i<=n;i++){ for (int j=MAX;j>=a[i];j--){ dp[j]=max(dp[j],dp[j-a[i]]+a[i]); } } for (int i=1;i<=MAX;i++){ if(dp[i]!=i) { printf("%d\n",i); break; } } } return 0; }