全TLE了 不知道为什么
查看原帖
全TLE了 不知道为什么
790361
LeR_lirun楼主2024/10/14 12:57
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll res,c,t,a[10],b[100005],tem,f[10],ans,l[10]={0,1,10,100,1000,10000,100000};char ch;
int main(){
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	cin>>c>>t;
	while(t--){
		while(ch<'0'||ch>'9'){ch=getchar();}tem=0;
		while(ch>='0'&&ch<='9'){b[++tem]=ch-48;ch=getchar();}
		for(int i=1;i<10;i++){cin>>a[i];}ans=0;
		for(int i=1;i<=tem;i++){ans+=a[b[i]];}
		for(int i=0;i<7;i++){f[i]=ans;}
		for(int i=tem;i;i--){
			for(int j=min((ll)6,tem-i+1);j;j--){
				f[j]=min(f[j],f[j-1]+b[i]*l[j]-a[b[i]]);
			}
		}
		for(int i=1;i<7;i++){ans=min(ans,f[i]);}
		cout<<ans<<"\n";
	}
	return 0;
}

2024/10/14 12:57
加载中...