#include #include #include using namespace std; const int N=1e5+10; typedef long long LL; const LL inf=1e17; int a[N],b[N]; int k[1100],p[1100]; LL dp[20][1200]; int main() { int n,m; while(~scanf("%d%d",&n,&m)) { for(int i=0; i0) { for(int l=t; l<=1100; l++) { //printf("%d\n",dp[i][l-t]); // printf("dp==%d\n",dp[i][l]); dp[i][l]=min(dp[i][l-t]+k[j],dp[i][l]); // printf("dp=%d\n",dp[i][l]); } } } for(int j=1099;j>=0;j--) { dp[i][j]=min(dp[i][j],dp[i][j+1]); // printf("%d\n",dp[i][j]); } } LL ans=0; for(int i=0; i=inf) ans=-1; printf("%I64d\n",ans); } }