#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=10,M=1e6;
ll c,t,v[N],m[N],l[10];
char a[M];
void init(){
l[0]=0;
for(int i=1;i<=10;i++)l[i]=pow(10,i-1);
}
int main(){
init();
cin>>c>>t;
while(t--){
cin>>a;
ll ans=0,f[N],n=strlen(a);
for(int i=1;i<=9;i++)cin>>v[i];
for(int i=1;i<=n;i++){
m[i]=a[i-1]-'0';
ans+=v[m[i]];
}
for(int i=0;i<7;i++)f[i]=ans;
for(int i=n;i>0;i--)
for(int j=min((ll)6,n-i+1);j<n;j++)f[j]=min(f[j],f[j-1]+m[i]*l[j]-v[m[i]]);
for(int i=1;i<7;i++)ans=min(ans,f[i]);
cout<<ans<<'\n';
}
return 0;
}
不知道为什么,样例一的第一问就错了?