#include<bits/stdc++.h> using namespace std; int dp[31][20001],v[31]; int main(){ int m,n,i,j; cin>>m>>n; for(i=1;i<=n;i++){ cin>>v[i]; } for(i=1;i<=n;i++){ for(j=m;j>=1;j--){ if(j>=v[i]){ dp[i][j] = max(dp[i-1][j],dp[i-1][j-v[i]]+v[i]); }else{ dp[i][j] = dp[i-1][j]; } } } cout<<m-dp[n][m]; return 0; } /************************************************************** Problem: 1779 User: admin Language: C++ Result: Accepted Time:27 ms Memory:4496 kb ****************************************************************/