#include #include #define MAX(a,b) ((a)>(b)?(a):(b)) void run(void){ int t,n; scanf("%d%d",&t,&n); int *dp=(int *)calloc(t+1,sizeof(int)); int c[15]; int u[15]; int i; for(i=0;i=c[i];j--){ int v=u[i]; int sum=0; for(int k=1;j-k*c[i]>=0 && v>0;k++,v/=2){ sum+=v; dp[j]=MAX(dp[j],dp[j-c[i]*k]+sum); } } } printf("%d\n",dp[t]); } int main(void){ run(); return 0; }