比赛 2025.10.24 评测结果 WWWWWWWWWWWWWWWWWWWW
题目名称 坡伊踹 最终得分 0
用户昵称 李奇文 运行时间 1.353 s
代码语言 C++ 内存使用 6.14 MiB
提交时间 2025-10-24 10:03:21
显示代码纯文本
#include<bits/stdc++.h>

using namespace std;
const int N=2e5+5;
int n,q,a[N],tot;
int nxt[N],v[N],hd[N],w[N];
void add(int x,int y,int z){
	v[++tot]=y;
	w[tot]=z;
	nxt[tot]=hd[x];
	hd[x]=tot;
}
int s2=1,s3=1,sum[N];
void build(){
}
int main(){
	freopen("poitry.in","r",stdin);
	freopen("poitry.out","w",stdout);
	ios::sync_with_stdio(0);
	cin.tie(0);cout.tie(0);
	cin>>n>>q;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	for(int i=1;i<n;i++){
		int uu,vv,ww;
		cin>>uu>>vv>>ww;
		//s[vv]=ww;
		if(vv!=uu+1) s3=0;
		if(uu!=1) s2=0;
		add(uu,vv,ww);
		add(vv,uu,ww);
	}
	if(s2){
		for(int i=1;i<=q;i++){
			int au,av;
			cin>>au>>av;
			int hs=hd[au],sh=hd[av];
			int aw=w[hs],ans=0;
			ans=max(ans,a[au]);
			ans=min(ans,max(aw,a[1]));
			aw+=w[sh];
			ans=min(ans,max(aw,a[av]));
			cout<<ans<<"\n";
		}
	}else if(s3){
		for(int i=1;i<=n;i++){
			//sum[i]=sum[i-1]+s[i];
		}
		build();
	}else{
		
	}
	return 0;
}