結果

問題 No.901 K-ary εxtrεεmε
ユーザー tails
提出日時 2022-10-21 15:44:57
言語 cLay
(20241019-1)
結果
AC  
実行時間 55 ms / 3,000 ms
コード長 459 bytes
コンパイル時間 7,402 ms
コンパイル使用メモリ 213,256 KB
実行使用メモリ 19,516 KB
最終ジャッジ日時 2024-07-01 01:22:38
合計ジャッジ時間 11,437 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 29
権限があれば一括ダウンロードができます

ソースコード

diff #

ll@n;
int u[n],v[],w[];
rd((u,v,w)(n-1));
wgraph<int>g;
g.setEdge(n,n-1,u,v,w);
ll d[n];
g.getDistForest(0,d);
HLD h;
h.init(g.g);
int o[n],p[];
g.g.preorder(p);
rep(i,n)o[p[i]]=i;
ll@q;
rep(q){
	ll@k;
	ull x[k];
	rep(i,k){
		int@xi;
		x[i]=xi|(ull)o[xi]<<32;
	}
	sortA(k,x);
	int a=x[0],b=a;
	ll z=0;
	rep(i,1,k){
		int c=x[i];
		int e=h.lca(a,c);
		if(a==e){
			e=h.lca(b,c);
			z+=d[c]-d[e];
		}else{
			z+=d[a]+d[c]-2d[e];
			a=e;
		}
		b=c;
	}
	wt(z);
}
0