#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define mem(A,B) memset(A,B,sizeof(A)) using namespace std; typedef long long ll; const int mn=100000+5; const int mm=1000+5; ll A[mn],B[mn]; ll g[mm],p[mm]; ll d[mm][15]; int main() { int n,m; while(scanf("%d%d",&n,&m)!=EOF) { ll t=0,t2=0,mmn=0; for(int i=0; i=t2) { printf("-1\n"); continue; } mem(d,0); for(int i=0; i<=10; i++)//防御 { for(int j=1;j<=mmn;j++)//造成伤害值 { d[j][i]=1e18; for(int u=0;u=j) { d[j][i]=min(d[j][i],g[u]); } else { d[j][i]=min(d[j][i],d[j-mx][i]+g[u]); } } } } ll mi=0; for(int i=0;i