全RE求助
查看原帖
全RE求助
299890
Phill楼主2024/10/14 08:18

大样例全过了,为啥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
*/
2024/10/14 08:18
加载中...