#include<bits/stdc++.h>
using namespace std;
#define int long long
#define inf 0x3f3f3f3f
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int tt[200];
int n,m;
int a[201][201];
int dis[201];
int diss[201][201];
int g[201][201];
signed main()
{
IOS
memset(a,inf,sizeof(a));
cin>>n>>m;
for(int i=0;i<n;i++)
cin>>tt[i],a[i][i]=0;
for(int i=0;i<m;i++)
{
int u,v,w;
cin>>u>>v>>w;
a[u][v]=a[v][u]=w;
}
int T;
cin>>T;
while(T--)
{
memset(dis,0,sizeof(dis));
int x,y,t;
cin>>x>>y>>t;
for(int i=0;i<n;i++)
{
if(tt[i]<=t)
dis[i]=1;
}
if(dis[x]==0||dis[y]==0)
{
cout<<-1<<endl;
continue;
}
for(int k=0;k<n;k++)
{
if(dis[k]==0)
break;
for(int i=0;i<n;i++)
{
if(dis[i]==0)
break;
for(int j=0;j<n;j++)
{
if(dis[j]==0)
break;
a[i][j]=min(a[i][j],a[i][k]+a[k][j]);
}
}
}
//cout<<inf<<endl;
if(a[x][y]>=inf)
cout<<"-1"<<endl;
else
cout<<a[x][y]<<endl;
}
}
真找不出问题了,玄关