提交时间:2024-04-14 09:35:10

运行 ID: 143365

#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; }