#include<bits/stdc++.h>
using namespace std;
#define IOS cin.tie(nullptr)->sync_with_stdio(0),cin.exceptions(cin.failbit);
#define lb(x) (x)&-(x)
#define all(x) (x).begin(),(x).end()
#define ll long long
constexpr int maxN=5e3+5,maxMASK = 1<<5;
int n,m,k,q;
ll dis[maxMASK][maxN];
vector<pair<int,ll>> adj[maxN];
int main(){
    IOS
    cin>>n>>m>>k;
    for(int i = 0;i<maxMASK;i++)fill(dis[i],dis[i]+n+1,1e18);
    priority_queue<pair<ll,pair<int,int>>,vector<pair<ll,pair<int,int>>>,greater<pair<ll,pair<int,int>>>> pq;
    for(int i = 0;i<k;i++){
        int v;cin>>v;
        pq.emplace(dis[0][v] = 0,make_pair(v,0));
    }
    for(int i = 0;i<m;i++){
        int a,b,c;
        cin>>a>>b>>c;
        adj[b].emplace_back(a,c);
    }
    for(;!pq.empty();){
        auto [d,p] = pq.top();
        auto [u,mask] = p;
        pq.pop();
        if(d!=dis[mask][u])continue;
        for(auto [v,c]:adj[u]){
            if(dis[mask][v]>d+c)
                pq.emplace(dis[mask][v] = d+c,make_pair(v,mask));
            for(int cp = 0;cp<5;cp++)if((mask>>cp&1)==0){
                int nmask = mask^(1<<cp);
                if(dis[nmask][v]>d+c/10*(10-cp-1))
                    pq.emplace(dis[nmask][v] = d+c/10*(10-cp-1),make_pair(v,nmask));
            }
        }
    }
    cin>>q;
    for(ll s,p[5];q--;){
        cin>>s;
        for(int i = 0;i<5;i++)cin>>p[i];
        ll ans = 1e18;
        for(int i = 0;i<maxMASK;i++){
            ll cost = dis[i][s];
            for(int j = 0;j<5;j++){
                if(p[j]==-1&&(i>>j&1))cost = 1e18;
                if(i>>j&1)cost+=p[j];
            }
            ans = min(ans,cost);
        }
        if(ans>=1e18)cout<<"-1\n";
        else cout<<ans<<'\n';
    }
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |