大样例全过了,为啥RE嘞
https://www.luogu.com.cn/record/182011928
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 10;
typedef long long ll;
char n[maxn];
ll v[15];
int id, T;
ll f[maxn][10], g[10];
ll Pow10[7] = {1, 10, 100, 1000, 10000, 100000};
int main(){
// freopen("bargain5.in", "r", stdin);
// freopen("out.txt", "w", stdout);
ios::sync_with_stdio(0);
cin.tie(0), cout.tie(0);
cin >> id >> T;
while(T--){
cin >> n;
int len = strlen(n);
ll all = 0;
for(int i = 1; i <= 9; i++){
cin >> v[i];
g[i] = -100000000;
}
ll ans = 0;
for(int i = len - 1; i >= 0; i--){
all += v[n[i] - '0'];
for(int j = 5; j >= 2; j--){
f[i][j] = v[n[i] - '0'] - (n[i] - '0') * Pow10[j - 1] + g[j - 1];
g[j] = max(g[j], f[i][j]);
ans = max(ans, f[i][j]);
// cout << i << " " << j << " " << f[i][j] << endl;
}
f[i][1] = v[n[i] - '0'] - (n[i] - '0');
// cout << i << " " << 1 << " " << f[i][1] << endl;
g[1] = max(g[1], f[i][1]);
ans = max(ans, f[i][1]);
}
cout << all - ans << endl;
}
return 0;
}
/*
0 1
987654321
1 2 3 4 5 6 7 8 9
*/