#include #include #include #include using namespace std; const int maxn=100001; const int maxm=1001; long long a[maxn],b[maxn]; long long k[maxm],p[maxm]; long long dp[maxm][11]; int main() { int n,m; while(scanf("%d%d",&n,&m)!=EOF) { long long up1=0,up2=0,hp=0; for(int i=0; i=up2) { printf("-1\n"); continue; } memset(dp,0,sizeof(dp)); for(int i=0; i<=10; i++)//0<=b[i]<=10 { for(int j=1;j<=hp;j++)//造成伤害值,0<=p[i]<=1000 { dp[j][i]=1e18; for(int u=0;u=j) { dp[j][i]=min(dp[j][i],k[u]); } else { dp[j][i]=min(dp[j][i],dp[j-dmg][i]+k[u]); } } } } long long ans=0; for(int i=0;i