QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#90559#2065. Cyclic DistancewolfrevoTL 2236ms12380kbC++209.7kb2023-03-23 16:53:282023-03-23 16:53:30

Judging History

你现在查看的是最新测评结果

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-03-23 16:53:30]
  • 评测
  • 测评结果:TL
  • 用时:2236ms
  • 内存:12380kb
  • [2023-03-23 16:53:28]
  • 提交

answer

//[Author]   tuxedcat
//[Date]     2023.03.23
//[File]     src/saved/18755.cpp
//[Library]  https://github.com/tuxedcat/pslib
#pragma GCC optimize("O3")
// #pragma GCC optimize("O3")
// #pragma GCC target("avx2")
#include <bits/stdc++.h>
#define _EXT_CODECVT_SPECIALIZATIONS_H 1
#define _EXT_ENC_FILEBUF_H 1
using namespace std;
#define SYSCALL_ALLOWED 1
#if SYSCALL_ALLOWED
	#include <bits/extc++.h>
	#include <ext/rope>
#endif

#define int i64
using fp=double; //long double,__float128
#define COUT_FP 10
#define FP_EPS 1e-11

#define CPP20 1
#define DBG_SETW 3
#define CHECK_INPUT 1

// Frequently used options
#define endl '\n' // Remove it when interactive
#define TC get<0>(input()) //1
#define TC_OUT_PREFIX ""//"Case #",ti,": "

#define fi first
#define se second
#define mkp make_pair
#define mkt make_tuple
#define lb lower_bound
#define ub upper_bound
#define bs binary_search
#define itos to_string
#define head(x) (x.begin())
#define tail(x) prev(x.end())
#define dbg(...) void(0)
#define dbgif(...) void(0)
#define dbg1(...) void(0)
#define dbg1if(...) void(0)
using i64=long long;using u64=unsigned long long;using u32=unsigned;
using pint=pair<int,int>;using tint=tuple<int,int,int>;
template<class T>using Str=basic_string<T>;
template<class T,class CMP=less<>>using PQ=std::priority_queue<T,vector<T>,CMP>;

#if CPP20
template<class T>concept Printable=requires(T x){cout<<x<<endl;};
template<class T>concept NotPrintable=not Printable<T>;
template<class T>concept Iterable=requires(T x){x.begin();x.end();begin(x);end(x);};
#else
#define Printable class
#define NotPrintable class
#define Iterable class
#endif
//functions before include <arr.h>

//Math
#if !(CPP20)
	#define countl_zero(x) __builtin_clzll(x)
	#define popcount(x) __builtin_popcountll(x)
	#define bit_ceil(x) (1<<clg2(x))
#endif
#if CPP20
	#define sz ssize
#else
	template<class T>int sz(const T& x){return x.size();}
#endif
int fdiv(int a,int b){if(b<0)a=-a,b=-b;return (a>0)?a/b:(a-b+1)/b;}
int cdiv(int a,int b){if(b<0)a=-a,b=-b;return (a>0)?(a+b-1)/b:a/b;}
i64 flg2(u64 x){return 63-countl_zero(x);}
i64 clg2(u64 x){return x-1==0?0:64-countl_zero(x-1);}
int fsqrt(i64 n) {i64 i=1;while(i*i<=n)i++;return i-1;}
int csqrt(i64 n) {i64 i=1;while(i*i<n)i++;return i;}
template<class T>T sq(T x){return x*x;}
template<class T>constexpr T inf(){return numeric_limits<T>::max()/2;}
template<class T> [[deprecated("use optional")]] constexpr T nan(){return inf<T>()+1;}
#if CPP20
template<typename T> concept MemberInf=requires(T t){t.inf();};
template<typename T> concept MemberNan=requires(T t){t.nan();};
template<MemberInf T>T inf(){return T().inf();}
template<MemberNan T> [[deprecated("use optional")]] T nan(){return T().nan();}
#endif

//IO & misc
template<class...A>void osprint(ostream& os, A...a){((os<<a),...);}
template<class...A>void osprintln(ostream& os, A...a){((os<<a),...,(cout<<endl));}
#define print(...) osprint(cout,__VA_ARGS__)
#define println(...) osprintln(cout,__VA_ARGS__)
#if DEBUG
	#define dbgprint(...) osprint(cerr,"\033[0;33m",__VA_ARGS__,"\033[0m")
	#define dbgprintln(...) osprintln(cerr,"\033[0;33m",__VA_ARGS__,"\033[0m")
#else
	#define dbgprint(...)
	#define dbgprintln(...)
#endif
template<class T,class U>bool assmin(T& a,U&& b){return a>b?a=b,true:false;}
template<class T,class U>bool assmax(T& a,U&& b){return a<b?a=b,true:false;}
void MUST(bool expr){
#if DEBUG
	#include <csignal>
	if(!expr)
		raise(SIGINT);
#endif
}
#define ARG(...) __VA_ARGS__
#define func(RetT,fname,...) function<RetT(__VA_ARGS__)> fname=[&](__VA_ARGS__)->RetT
#define lam(expr,...) [&](__VA_ARGS__){return expr;}
#define lamp(expr,...) [](__VA_ARGS__){return expr;}

auto val2cmp(auto val){return [val](auto x, auto y){return mkp(val(x),x)<mkp(val(y),y);};}

template<class T, class P=vector<T>>
struct Arr:public P{
	Arr(){P::shrink_to_fit();}
	explicit Arr(signed n):P(n){}
	explicit Arr(signed n,T init):P(n,init){}
	Arr(initializer_list<T>il):P(il){}
	Arr(auto its, auto ite):P(its,ite){}
	inline T& operator[](signed i){
		int n=sz(*this);
		if(i<0)
			i+=n,dbg1("Neg Index Found");
		if(i>=n)
			i-=n,dbg1("Over Index Found");
		return P::operator[](i);
	}
	const T& operator[](signed i)const{	
		int n=sz(*this);
		if(i<0)
			i+=n,dbg1("Neg Index Found");
		if(i>=n)
			i-=n,dbg1("Over Index Found");
		return P::operator[](i);
	}
	T& at(signed i){return *this[i];}
	const T& at(signed i)const{return *this[i];}
};
template<class... A> auto ARR(auto n,A&&... a)
{if constexpr(!sizeof...(a)) return n; else return Arr(n,ARR(a...));}

//Consts
// const fp pi=numbers::pi_v<fp>,eps=FP_EPS;
const fp pi=acos(-1),eps=FP_EPS;
const int dir4[4][2]={{0,1},{-1,0},{0,-1},{1,0}};
const int dir8[8][2]={{0,1},{-1,1},{-1,0},{-1,-1},{0,-1},{1,-1},{1,0},{1,1}};
//functions after include <arr.h>

template<class T>int argmin(const Arr<T>& a){return min_element(a.begin(),a.end())-a.begin();}
template<class T>int argmax(const Arr<T>& a){return max_element(a.begin(),a.end())-a.begin();}
Arr<int> permuinv(const Arr<int>& a){Arr<int> r(sz(a));for(int i=0;i<sz(a);i++)r[a[i]]=i;return r;}
template<class T,class U=Arr<int>>map<T,U> classify(const Arr<T>& a){
	map<T,U> r;
	for(int i=0;i<sz(a);i++)
		r[a[i]].push_back(i);
	return r;
}
#if CPP20

template<class T=int,class... Ts> requires (!Iterable<T>) tuple<T,Ts...> input(){
	T x; cin>>x;
	if constexpr (sizeof...(Ts)==0) return mkt(x);
	else return tuple_cat(mkt(x),input<Ts...>());
}
template<class T=int,int n>std::array<T,n> input(){
	std::array<T,n> a;
	for(auto&i:a)
		i=get<0>(input<T>());
	return a;
}
string input(string& str){ cin>>str; return str; }
template<class T> requires (!Iterable<T>) T& input(T& a){ cin>>a; return a;}
template<class T> requires Iterable<T> T& input(T& a){ for(auto&i:a)input(i); return a; }
#else
	#define input() [](){int x;cin>>x;return mkt(x);}()
	// #define input(n) [](){Arr<int> a(n);for(auto&i:a)cin>>i;return a;}()
#endif

//Pre-runs
auto __PR=(cout<<fixed<<setprecision(COUT_FP),0);
#if !(DEBUG)
auto __PR_NDB=(ios::sync_with_stdio(0),cin.tie(0),cout.tie(0));
#endif
void solve();
signed main(){
	for(int ti=1,t=TC;ti<=t;ti++)
		print(TC_OUT_PREFIX),
		solve();
#if CHECK_INPUT
	assert(cin.get()=='\n');
	assert(cin.get()==EOF);
#endif
}
//

using namespace __gnu_pbds;
using namespace __gnu_cxx;

int __RANDOM=i64(new int)^time(0);
struct randomhasher{int operator()(int x)const{return x^__RANDOM;}};
template<class K,class V> using HashMap=gp_hash_table<K,V,randomhasher>;
//MLE or RLE or WA 날땐 cc_hash_table or unordered_map 사용

template<class T,class CMP=less<>,class Policy=pairing_heap_tag>
struct pbds_pq
:public __gnu_pbds::priority_queue<T,CMP,Policy>{
	pbds_pq(){}
	pbds_pq(pbds_pq&& r){this->swap(r);}
	void operator=(pbds_pq&& r){this->swap(r);}
};

//NOTE: pbds_tree.join은 중복키 있으면 join_error 예외발생
template<class T>
struct pbds_set
:public tree<T,null_type,less<T>,rb_tree_tag,tree_order_statistics_node_update>{
	pbds_set(){}
	pbds_set(pbds_set&& r){this->swap(r);}
	void operator=(pbds_set&& r){this->swap(r);}
};
template<class K,class V>
struct pbds_map
:public tree<K,V,less<K>,rb_tree_tag,tree_order_statistics_node_update>{
	pbds_map(){}
	pbds_map(pbds_map&& r){this->swap(r);}
	void operator=(pbds_map&& r){this->swap(r);}
};
template<class T> struct pbds_multiset{
	pbds_set<pair<T,int>> s;
	auto begin()const{return s.begin();}
	auto end()const{return s.end();}
	auto find(const T& v)const{
		auto it=s.lb({v,0});
		return it->fi==v?it:s.end();}
	auto insert(const T& v){return s.insert({v,counter++});}
	auto erase(const typename pbds_set<pair<T,int>>::iterator& it){return s.erase(it);}
	int order_of_key(const T& v,bool ub=true)const{return s.order_of_key({v,ub?counter:0});}
	auto find_by_order(int ord)const{return s.find_by_order(ord);}
	int count(const T& v)const{return order_of_key(v)-order_of_key(v-1);}
	int size()const{return sz(s);}
private:
	int counter=0;
};
int k;

struct Hull{
	int zp=0;
	int sum=0;
	multiset<int> pq;//slopes
	void minkowski_sum(Hull&& r){
		zp+=r.zp;
		sum+=r.sum;
		for(auto i:r.pq)
			pq.emplace(i);
		while(pq.size()>k)
			sum-=*head(pq),pq.erase(head(pq));
	}
	//add a*min(i,b-i) to graph
	void update(int a, int b){
		zp+=0;
		int i=0;
		multiset<int> z;
		int zsum=0;
		for(int x: pq|views::reverse){
			if(i*2<b){
				int val=(i+1)*2<=b?x+a:x;
				z.emplace(val),zsum+=val;
			}else
				z.emplace(x-a),zsum+=x-a;
			i++;
		}
		swap(z,pq);
		swap(zsum,sum);
		while(pq.size()>k)
			sum-=*head(pq),pq.erase(head(pq));
	}
	int get(){
		if(pq.size()<k)
			return 0;
		//이것때메 터지고 있었네 하..
		// return reduce(pq.begin(),pq.end(),0ll);
		return sum;
	}
};

void solve(){
	auto[n,k]=input<int,2>();
	::k=k;
	Arr<Arr<pint>> g(n);
	for(int i=0;i<n-1;i++){
		auto[u,v,w]=input<int,3>();
		u--,v--;
		g[u].emplace_back(v,w);
		g[v].emplace_back(u,w);
	}
	Arr<int> tsz(n);
	func(int,precalc,int x,int p){
		tsz[x]=1;
		for(auto [y,_]:g[x])
			if(y!=p)
				tsz[x]+=precalc(y,x);
		return tsz[x];
	};
	int ans=0;
	func(Hull,dfs,int x,int p){
		Hull a;
		a.pq.emplace(0);
		sort(g[x].begin(),g[x].end(),val2cmp([&](pint x){return -tsz[x.first];}));
		for(auto [y,w]:g[x]){
			if(y!=p){
				auto b=dfs(y,x);
				//이게 small 2 large 안되서 문제일듯??
				//lazy하게 저장만 해두고 진짜 업데이트or계산할때 몰아서 하기 가능한가?
				//a에 합치긴 해야되서 안될거같은데 흠
				//HLD하고 무거운순서로 합치기 하면 복잡도 보장됨.				
				b.update(2*w,k);
				a.minkowski_sum(move(b));
			}
		}
		ans=max(ans,a.get());
		return a;
	};
	dfs(0,0);
	println(ans);
}

詳細信息

Test #1:

score: 100
Accepted
time: 1ms
memory: 3444kb

input:

1
5 3
1 2 4
1 3 1
1 4 8
4 5 9

output:

44

result:

ok single line: '44'

Test #2:

score: 0
Accepted
time: 76ms
memory: 3392kb

input:

57206
3 2
1 2 574927
2 3 406566
2 2
1 2 308806
4 3
1 2 312588
2 3 500141
2 4 53602
3 3
1 2 797183
2 3 944061
5 3
1 2 624010
2 3 488613
3 4 734514
4 5 497493
5 4
1 2 540278
2 3 488655
2 4 228989
2 5 653896
2 2
1 2 569117
4 2
1 2 821764
2 3 499471
1 4 549060
2 2
1 2 991159
2 2
1 2 482941
5 4
1 2 30462...

output:

1962986
617612
1732662
3482488
4689260
3823636
1138234
3740590
1982318
965882
3418504
5026562
1623414
1885106
1952142
3050630
1691896
3102076
2380932
3076270
5697196
7258020
879020
2500212
3613854
1358950
1182198
2273662
2331560
1681964
8917452
2373066
3163042
3104226
3642898
3162310
5058442
3669186...

result:

ok 57206 lines

Test #3:

score: 0
Accepted
time: 78ms
memory: 3512kb

input:

57087
3 3
1 2 34132
1 3 188096
2 2
1 2 996527
2 2
1 2 475736
5 3
1 2 329834
2 3 339687
1 4 954113
4 5 224354
2 2
1 2 641444
2 2
1 2 114059
5 3
1 2 635722
1 3 552627
1 4 721758
3 5 396156
4 3
1 2 655099
2 3 963393
1 4 953969
5 2
1 2 369719
1 3 22087
1 4 531252
3 5 449025
4 3
1 2 788498
1 3 220292
1 4...

output:

444456
1993054
951472
3695976
1282888
228118
4612526
5144922
2004728
3309502
2626844
3053048
3939444
3790784
2617770
38866
3033250
5707738
511666
403846
1923106
3331606
3447180
2329518
5656124
33582
2283312
3454982
110590
3125394
4517486
4522330
2352316
3966810
3463746
5181112
3089346
1260326
466418...

result:

ok 57087 lines

Test #4:

score: 0
Accepted
time: 78ms
memory: 3376kb

input:

33344
9 6
1 2 562996
1 3 312637
3 4 591016
1 5 811983
2 6 896220
3 7 854379
2 8 861166
1 9 672337
8 6
1 2 53530
1 3 712638
1 4 539356
1 5 179377
3 6 456495
2 7 730760
4 8 934379
3 3
1 2 87024
1 3 328551
3 3
1 2 664600
1 3 519786
5 4
1 2 374521
1 3 484148
2 4 501378
1 5 280691
10 3
1 2 676949
1 3 639...

output:

12876734
9717058
831150
2368772
4030518
7963678
2135868
739728
11584454
1670128
3432160
5573124
1293282
3608364
8574290
6242670
10860048
4726106
5661430
9713590
5160212
5958260
14418122
1913782
1393854
5129544
9369494
11601220
4751232
1623938
8259790
3591252
5112182
4761950
5284034
13000192
4895040
...

result:

ok 33344 lines

Test #5:

score: 0
Accepted
time: 75ms
memory: 3368kb

input:

33337
8 2
1 2 22201
2 3 94167
2 4 978398
4 5 452870
5 6 59368
5 7 804913
7 8 977938
3 3
1 2 784938
1 3 333822
8 4
1 2 737256
2 3 276599
2 4 338826
2 5 260533
2 6 520885
1 7 971939
1 8 613926
8 2
1 2 405702
1 3 514900
2 4 861432
2 5 715573
2 6 269555
5 7 528278
6 8 537996
6 2
1 2 984398
2 3 629
1 4 3...

output:

6616572
2237520
7840176
4328906
4093536
11035562
2053254
17920138
4892406
11437574
7585262
5318412
12387008
1823170
5912732
2056136
4049368
3780958
3965658
1661392
3447138
7906552
12728830
12419926
4593330
817758
2300052
12252582
10429848
629344
8615656
8922918
3351270
6102888
3501718
11662020
15460...

result:

ok 33337 lines

Test #6:

score: 0
Accepted
time: 102ms
memory: 3532kb

input:

18261
6 6
1 2 401169
1 3 865631
3 4 470224
1 5 136374
3 6 696999
3 2
1 2 216465
2 3 99004
9 3
1 2 360514
1 3 110584
3 4 170236
1 5 969734
4 6 929592
3 7 907150
4 8 418707
4 9 357462
4 4
1 2 951855
2 3 70272
2 4 113663
17 9
1 2 352392
1 3 254146
2 4 362317
1 5 589664
3 6 284236
6 7 978987
2 8 122649
...

output:

8603318
630938
6174592
2271580
32450770
9765552
9941290
17849770
6762442
9904414
59511294
4686354
5194544
44718814
20540916
7002622
29096312
1815140
9151006
20865960
2859444
7971376
15607738
16938982
9282678
15770664
10404176
2332096
3515930
50580870
9444474
7316680
3747306
14809566
32347198
5442322...

result:

ok 18261 lines

Test #7:

score: 0
Accepted
time: 100ms
memory: 3608kb

input:

18082
12 8
1 2 893078
2 3 422969
1 4 633414
4 5 744557
3 6 860147
3 7 385978
5 8 399366
3 9 431676
4 10 181291
9 11 486224
10 12 444565
13 12
1 2 449428
1 3 484947
3 4 581713
3 5 159778
3 6 337685
4 7 565917
4 8 136883
7 9 963963
9 10 457061
9 11 818966
4 12 588294
1 13 275051
11 8
1 2 742103
1 3 98...

output:

26178344
26647644
17726444
51096468
51024750
4318098
10947660
9534678
3065408
11342084
8694638
19155222
849062
7555504
8993018
3193064
4338758
519680
4516496
18892576
2929566
12021588
29857614
40051924
1688342
24734948
10330762
14820592
11122894
15774626
17385606
20569180
5715160
3895974
7010784
271...

result:

ok 18082 lines

Test #8:

score: 0
Accepted
time: 127ms
memory: 3388kb

input:

7777
27 19
1 2 930838
1 3 462030
1 4 982798
2 5 829904
3 6 593202
5 7 941278
5 8 694251
3 9 720130
4 10 604740
4 11 550251
5 12 409519
3 13 23594
12 14 54526
2 15 511926
1 16 48491
1 17 765416
12 18 819984
9 19 325056
7 20 175920
11 21 269086
16 22 641837
13 23 1737
21 24 948879
15 25 349036
3 26 13...

output:

71370146
30838976
80456148
32228866
5055546
25592662
95173582
13955400
17980860
19738002
78673788
101336458
125780830
1081414
105831712
11260058
85123024
74738088
91760570
127445888
56551920
26076342
50784456
43425188
9465296
64841258
21733114
12894954
66549458
57289112
46556192
46428776
79922806
15...

result:

ok 7777 lines

Test #9:

score: 0
Accepted
time: 164ms
memory: 3544kb

input:

3973
72 55
1 2 918907
2 3 400804
2 4 72269
2 5 254465
3 6 176834
4 7 487004
4 8 469111
5 9 299565
5 10 455772
8 11 575420
3 12 538035
7 13 501415
11 14 583573
1 15 879841
11 16 16749
16 17 48301
17 18 5050
6 19 739687
10 20 264146
19 21 95867
14 22 436314
18 23 109932
17 24 472782
5 25 809039
19 26 ...

output:

201634460
8298172
194453968
102456878
21539194
126399884
235528270
117959738
23543328
41025942
8304998
31545014
17344164
41189444
25956190
46294310
13019524
71670116
120980628
48791074
150100762
116919430
244037610
218464668
133368300
255723622
106123038
244888064
19329892
66580624
74085138
26108538...

result:

ok 3973 lines

Test #10:

score: 0
Accepted
time: 182ms
memory: 3556kb

input:

1977
164 159
1 2 789785
2 3 953798
2 4 694582
2 5 546152
1 6 977613
4 7 100774
1 8 699051
6 9 456494
4 10 736064
8 11 451475
2 12 212640
12 13 472011
2 14 473796
12 15 986991
8 16 723782
6 17 209086
2 18 619112
15 19 740890
19 20 114446
4 21 470217
7 22 718655
9 23 989557
14 24 575144
24 25 897325
1...

output:

728347768
385840768
77551442
592321810
379244468
70306600
40298184
752175314
115213140
20514164
76134366
99658306
453129018
233705740
297458016
274605942
332890648
11997344
319596032
85455912
55983850
11837114
356411436
56917200
180309026
69088440
113716684
159826434
571011208
528906534
606746358
46...

result:

ok 1977 lines

Test #11:

score: 0
Accepted
time: 217ms
memory: 3484kb

input:

818
216 206
1 2 369713
2 3 421291
3 4 140720
3 5 453918
2 6 347245
3 7 292355
4 8 804550
2 9 511603
5 10 576941
6 11 79641
2 12 493352
6 13 192308
12 14 854864
4 15 144922
7 16 522578
7 17 532656
15 18 685489
2 19 809906
14 20 599938
20 21 527857
10 22 822574
4 23 885328
13 24 111539
8 25 292999
10 ...

output:

867774932
2296994794
233491416
339174870
4380454
316249010
1649235398
150692978
859452362
1387824632
566645160
1671550174
374729794
38076864
256942076
89728496
111087726
819481720
353274342
158202878
2507683982
659900622
594449324
108828820
220100714
806438160
288755872
450110446
1306416876
28801645...

result:

ok 818 lines

Test #12:

score: 0
Accepted
time: 236ms
memory: 3780kb

input:

388
885 741
1 2 614111
1 3 646996
1 4 731680
3 5 509182
2 6 712870
2 7 477522
1 8 799038
2 9 526704
4 10 88823
6 11 585078
8 12 900068
12 13 440908
6 14 388379
2 15 812954
5 16 917816
2 17 727629
5 18 241307
18 19 529750
2 20 809637
4 21 266090
4 22 413888
4 23 465987
19 24 643732
3 25 848861
7 26 3...

output:

5165240612
3991064320
300206776
2363897270
4350064382
2904490770
1259900728
451154248
2752947084
1151013030
207016404
703014190
4827032982
47085678
465899304
559318078
208644530
1259221796
315251532
3807613878
865302402
339449112
3285190350
379703410
1086628014
194369296
2706984676
9377868
152376728...

result:

ok 388 lines

Test #13:

score: 0
Accepted
time: 280ms
memory: 3724kb

input:

124
806 542
1 2 394915
2 3 762809
2 4 71615
4 5 901682
1 6 28248
1 7 325984
1 8 161160
7 9 70782
1 10 349322
7 11 654826
11 12 427646
10 13 517990
12 14 400553
3 15 598040
8 16 253298
10 17 294666
14 18 613927
13 19 625834
17 20 93238
4 21 45963
9 22 870452
11 23 376547
19 24 659738
5 25 739083
17 2...

output:

3807793034
1343227424
37609802
3705549364
126733756
9635178252
3506210498
16987523222
22763236
7093402608
10108316194
1798434742
2332283402
110619882
12311189932
7785591236
2331817838
7321850968
10330012804
4659673742
1598549982
3471432852
9127534748
6077191920
2755494906
82670438
792532856
59178738...

result:

ok 124 lines

Test #14:

score: 0
Accepted
time: 316ms
memory: 4548kb

input:

47
4196 3473
1 2 59765
1 3 28405
2 4 95437
1 5 426251
4 6 680053
4 7 875644
3 8 101616
2 9 669879
4 10 527801
9 11 696926
4 12 955771
6 13 953289
6 14 899927
2 15 309441
1 16 791394
11 17 990342
2 18 921444
17 19 407114
18 20 895642
12 21 733300
19 22 714292
5 23 177566
1 24 874904
18 25 425752
21 2...

output:

32935676304
3717064448
37360311556
32857937108
25425748172
20991814086
9308076718
30002956630
25990649392
35230149484
30166498052
6980464444
848691918
727066270
19184659230
21879371990
11886363268
7281096728
34529212140
33573011954
29329416654
10604037682
14609919178
7088000188
2997249588
2182193162...

result:

ok 47 lines

Test #15:

score: 0
Accepted
time: 375ms
memory: 6872kb

input:

25
13266 5290
1 2 398633
2 3 578977
1 4 568699
2 5 495651
1 6 356927
4 7 884995
5 8 465219
3 9 54537
4 10 989480
4 11 212881
8 12 576100
3 13 519498
7 14 209089
2 15 119352
15 16 440028
6 17 11442
17 18 142375
12 19 93668
18 20 569575
6 21 634959
14 22 921078
18 23 749636
15 24 78850
20 25 631085
18...

output:

57636699686
20776112106
22411104826
41387716460
99873948690
23234934704
26640137916
49381353188
93899141028
180822788490
16939309804
118325463046
65282343804
88479211840
109851741390
2732988616
36278698716
1584258300
6631320784
890513562
75812804
12914508
1164298
3956432
1036116

result:

ok 25 lines

Test #16:

score: 0
Accepted
time: 468ms
memory: 12020kb

input:

13
31190 2158
1 2 781853
2 3 614702
3 4 680885
1 5 519959
1 6 743821
1 7 498955
3 8 436452
6 9 426284
3 10 74654
4 11 20992
10 12 967749
4 13 324721
11 14 442563
5 15 661646
5 16 853352
11 17 766216
3 18 731178
9 19 754550
1 20 636192
18 21 139985
18 22 532871
21 23 341305
11 24 138046
21 25 255022
...

output:

35215118232
55749095234
253652245940
236318456986
22259296024
5904204406
3347768326
11182269610
653683538
323715442
4623062
21020532
4497448

result:

ok 13 lines

Test #17:

score: 0
Accepted
time: 403ms
memory: 12380kb

input:

11
23148 11569
1 2 814559
1 3 529617
2 4 169569
2 5 291868
2 6 141363
6 7 208623
6 8 970146
7 9 264414
1 10 460715
7 11 922739
3 12 247233
11 13 463914
11 14 930506
12 15 890547
3 16 98019
1 17 318068
8 18 907736
8 19 575428
9 20 267180
17 21 664753
1 22 233687
16 23 664123
20 24 480003
5 25 316247
...

output:

131403496778
437083768410
29036758090
162514613074
1459900026
57667303102
27192563612
167378465122
324860400
9073270
2801740

result:

ok 11 lines

Test #18:

score: 0
Accepted
time: 85ms
memory: 3524kb

input:

33344
9 6
1 2 562996
1 3 312637
3 4 591016
1 5 811983
2 6 896220
4 7 854379
5 8 861166
4 9 672337
8 6
1 2 53530
1 3 712638
1 4 539356
1 5 179377
3 6 456495
4 7 730760
6 8 934379
3 3
1 2 87024
1 3 328551
3 3
1 2 664600
1 3 519786
5 4
1 2 374521
1 3 484148
2 4 501378
1 5 280691
10 3
1 2 676949
1 3 639...

output:

16364046
11948264
831150
2368772
4030518
8718520
2135868
739728
17887112
1670128
3432160
5573124
1293282
3608364
9786762
6242670
10860048
4629338
5661430
10201260
5160212
5927214
13871014
1913782
1393854
4800470
8646754
13014822
4751232
1623938
9138792
3591252
5112182
4761950
4586032
12082886
519797...

result:

ok 33344 lines

Test #19:

score: 0
Accepted
time: 86ms
memory: 3376kb

input:

33337
8 2
1 2 22201
2 3 94167
2 4 978398
4 5 452870
5 6 59368
3 7 804913
4 8 977938
3 3
1 2 784938
1 3 333822
8 4
1 2 737256
2 3 276599
2 4 338826
2 5 260533
2 6 520885
3 7 971939
4 8 613926
8 2
1 2 405702
1 3 514900
2 4 861432
2 5 715573
2 6 269555
6 7 528278
3 8 537996
6 2
1 2 984398
2 3 629
1 4 3...

output:

5710832
2237520
6918862
4640060
4093536
11124574
2053254
13791458
4237112
10302280
7585262
5318412
11661146
1823170
5912732
2056136
4049368
3780958
3965658
1661392
3447138
6521186
13822322
14297984
5139694
817758
2300052
12441972
12131080
629344
10222176
9904156
3530164
6102888
3501718
14897866
1602...

result:

ok 33337 lines

Test #20:

score: 0
Accepted
time: 116ms
memory: 3508kb

input:

18261
6 6
1 2 401169
1 3 865631
3 4 470224
1 5 136374
3 6 696999
3 2
1 2 216465
2 3 99004
9 3
1 2 360514
1 3 110584
3 4 170236
1 5 969734
4 6 929592
3 7 907150
6 8 418707
8 9 357462
4 4
1 2 951855
2 3 70272
2 4 113663
17 9
1 2 352392
1 3 254146
2 4 362317
1 5 589664
3 6 284236
2 7 978987
7 8 122649
...

output:

8603318
630938
7726930
2271580
39511914
9291560
9322562
18891490
6762442
11282728
45981248
4686354
6204500
33805266
29050944
7002622
27812476
1815140
8291966
28949776
2859444
7971376
19995250
14927176
10794868
16032466
8113806
2332096
3515930
30566568
11171378
7316680
3747306
15622598
46200820
75783...

result:

ok 18261 lines

Test #21:

score: 0
Accepted
time: 114ms
memory: 3384kb

input:

18082
12 8
1 2 893078
2 3 422969
1 4 633414
4 5 744557
3 6 860147
2 7 385978
7 8 399366
4 9 431676
9 10 181291
9 11 486224
11 12 444565
13 12
1 2 449428
1 3 484947
3 4 581713
3 5 159778
3 6 337685
6 7 565917
5 8 136883
8 9 963963
6 10 457061
9 11 818966
8 12 588294
12 13 275051
11 8
1 2 742103
1 3 9...

output:

25242528
19757364
27007054
55240682
86564840
4085192
18139318
9534678
3065408
12744226
7727820
19949556
849062
8241740
11906226
3193064
4338758
519680
4071722
16300002
2929566
16428948
23453358
40860624
1688342
24721740
11410636
17290986
13878788
21750284
18940876
29581306
5715160
3895974
8886486
27...

result:

ok 18082 lines

Test #22:

score: 0
Accepted
time: 182ms
memory: 3484kb

input:

7777
27 19
1 2 930838
1 3 462030
1 4 982798
2 5 829904
3 6 593202
3 7 941278
6 8 694251
6 9 720130
9 10 604740
9 11 550251
7 12 409519
9 13 23594
11 14 54526
10 15 511926
11 16 48491
14 17 765416
14 18 819984
15 19 325056
16 20 175920
16 21 269086
18 22 641837
22 23 1737
19 24 948879
21 25 349036
23...

output:

75228170
57649698
132133658
33869456
5055546
40187600
238142214
19019330
21052956
15867730
111296070
143396510
178896852
1081414
241828026
16808758
166238356
132779414
158171092
309062484
72050812
29444440
119894362
63427714
7982906
173052228
32140652
15853058
181352856
104599994
59113664
91137016
1...

result:

ok 7777 lines

Test #23:

score: 0
Accepted
time: 295ms
memory: 3412kb

input:

3973
72 55
1 2 918907
2 3 400804
2 4 72269
2 5 254465
3 6 176834
5 7 487004
6 8 469111
7 9 299565
8 10 455772
8 11 575420
11 12 538035
10 13 501415
13 14 583573
10 15 879841
11 16 16749
16 17 48301
15 18 5050
14 19 739687
19 20 264146
19 21 95867
19 22 436314
22 23 109932
22 24 472782
24 25 809039
2...

output:

550802140
9430612
543389458
132607198
33518502
286156830
631371590
247716594
23612752
47668732
8304998
35618886
17797666
54996198
38216132
66312258
18311866
146893642
239261316
83215660
489394056
212729892
679954418
390831710
289311584
550398988
232201858
522438480
27156366
145913756
138648040
78355...

result:

ok 3973 lines

Test #24:

score: 0
Accepted
time: 509ms
memory: 3652kb

input:

1977
164 159
1 2 789785
2 3 953798
2 4 694582
2 5 546152
1 6 977613
2 7 100774
3 8 699051
4 9 456494
6 10 736064
8 11 451475
11 12 212640
8 13 472011
10 14 473796
13 15 986991
13 16 723782
12 17 209086
17 18 619112
18 19 740890
16 20 114446
19 21 470217
19 22 718655
22 23 989557
23 24 575144
24 25 8...

output:

2709804252
1073382686
146182876
2597928172
1039083688
130202922
44807718
2697948818
275515666
45003232
249922510
130302328
2233680240
576739142
1323701390
594678858
812802376
11830192
982876590
114228054
118682940
13448660
763467086
95466686
771594172
135505534
236009214
251246628
2419143104
1720022...

result:

ok 1977 lines

Test #25:

score: 0
Accepted
time: 1100ms
memory: 3524kb

input:

818
216 206
1 2 369713
2 3 421291
3 4 140720
3 5 453918
2 6 347245
6 7 292355
7 8 804550
6 9 511603
7 10 576941
6 11 79641
11 12 493352
10 13 192308
11 14 854864
10 15 144922
12 16 522578
14 17 532656
14 18 685489
15 19 809906
17 20 599938
20 21 527857
18 22 822574
22 23 885328
19 24 111539
21 25 29...

output:

4423750216
19666685454
693546124
1218864536
4380454
1447915712
11002456676
506224456
5030664554
11273572258
2955101958
15029178348
775193614
105634972
1570657002
174010602
402583934
4831109418
757286726
211417032
17891846444
3889435970
2672696626
280579862
598159250
6733598614
1154119398
1167341254
...

result:

ok 818 lines

Test #26:

score: 0
Accepted
time: 2236ms
memory: 3728kb

input:

388
885 741
1 2 614111
1 3 646996
1 4 731680
3 5 509182
2 6 712870
3 7 477522
3 8 799038
8 9 526704
7 10 88823
6 11 585078
8 12 900068
12 13 440908
13 14 388379
11 15 812954
15 16 917816
13 17 727629
17 18 241307
18 19 529750
16 20 809637
19 21 266090
19 22 413888
20 23 465987
19 24 643732
21 25 848...

output:

59885814774
50002653154
1816966352
17291950154
60032231098
35122321576
7267828716
1308307132
28075201798
12526928294
1852930634
3350761620
66628385514
66676096
904923322
6492445224
537436282
6796359008
772676382
51098682222
10346684906
1614190620
36290697118
1210792144
8736409274
1024153808
26720699...

result:

ok 388 lines

Test #27:

score: -100
Time Limit Exceeded

input:

124
806 542
1 2 394915
2 3 762809
2 4 71615
4 5 901682
1 6 28248
4 7 325984
3 8 161160
8 9 70782
6 10 349322
7 11 654826
9 12 427646
12 13 517990
13 14 400553
11 15 598040
13 16 253298
16 17 294666
14 18 613927
17 19 625834
18 20 93238
19 21 45963
18 22 870452
19 23 376547
22 24 659738
20 25 739083
...

output:


result: