#include <stdio.h> int V; int n; int a[31]; int dp[20001]={0}; int main () { int i,j; int t; scanf("%d",&V); scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&a[i]); for(i=0;i<n;i++) { for(j=V;j>=a[i];j--) { if(dp[j]>( dp[j-a[i]]+a[i] )) dp[j]=dp[j]; else dp[j]=dp[j-a[i]]+a[i]; } } printf("%d",V-dp[V]); return 0; } /************************************************************** Problem: 1779 User: admin Language: C Result: Accepted Time:20 ms Memory:1224 kb ****************************************************************/