提交时间:2023-04-14 21:19:04

运行 ID: 74755

#include<bits/stdc++.h> using namespace std; int m,n; int a[20001]; int w[100000]; int main(){ while(cin>>n){ for(int i=1;i<=n;i++)cin>>w[i]; for(int i=1;i<=20001;i++)a[i]=-1000; a[0]=0; for(int i=1;i<=n;i++) for(int j=20001;j>=w[i];j--) a[j]=max(a[j],a[j-w[i]]+w[i]); for(int i=1;i<=20001;i++){ if(a[i]<0){ cout<<i<<endl; break; } } } return 0; }