Submission #7909452


Source Code Expand

#include<bits/stdc++.h>
typedef long long ll;
ll gi(){
	ll x=0,f=1;
	char ch=getchar();
	while(!isdigit(ch))f^=ch=='-',ch=getchar();
	while(isdigit(ch))x=x*10+ch-'0',ch=getchar();
	return f?x:-x;
}
int fa[200010];
int hd(int x){return fa[x]==x?x:fa[x]=hd(fa[x]);}
int W[200010],siz[200010],FA[200010],cnt;
int st[18][200010];
int Calc(int a,int b,int w){
	for(int i=17;~i;--i)if(st[i][a]&&W[st[i][a]]<=w)a=st[i][a];
	for(int i=17;~i;--i)if(st[i][b]&&W[st[i][b]]<=w)b=st[i][b];
	return a==b?siz[a]:siz[a]+siz[b];
}
int main(){
#ifdef XZZSB
	freopen("in.in","r",stdin);
	freopen("out.out","w",stdout);
#endif
	int n=gi(),a,b,m=gi();
	for(int i=1;i<=n*2;++i)fa[i]=i;
	for(int i=1;i<=n;++i)siz[i]=1;
	cnt=n;
	for(int i=1;i<=m;++i){
		a=hd(gi()),b=hd(gi());
		if(a==b)continue;
		fa[a]=fa[b]=FA[a]=FA[b]=++cnt;
		siz[cnt]=siz[a]+siz[b];
		W[cnt]=i;
	}
	for(int i=1;i<=n*2;++i)st[0][i]=FA[i];
	for(int i=1;i<18;++i)
		for(int j=1;j<=cnt;++j)
			st[i][j]=st[i-1][st[i-1][j]];
	int Q=gi(),z;
	while(Q--){
		a=gi(),b=gi();z=gi();
		int l=1,r=m,mid;
		while(l<r){
			mid=(l+r)>>1;
			if(Calc(a,b,mid)>=z)r=mid;
			else l=mid+1;
		}
		printf("%d\n",l);
	}
	return 0;
}

Submission Info

Submission Time
Task D - Stamp Rally
User test12345
Language C++14 (GCC 5.4.1)
Score 1000
Code Size 1158 Byte
Status AC
Exec Time 484 ms
Memory 18816 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 1000 / 1000
Status
AC × 1
AC × 33
Set Name Test Cases
Sample 0_00.txt
All 0_00.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt, 1_22.txt, 1_23.txt, 1_24.txt, 1_25.txt, 1_26.txt, 1_27.txt, 1_28.txt, 1_29.txt, 1_30.txt, 1_31.txt
Case Name Status Exec Time Memory
0_00.txt AC 4 ms 14592 KB
1_00.txt AC 370 ms 18048 KB
1_01.txt AC 484 ms 18048 KB
1_02.txt AC 410 ms 18816 KB
1_03.txt AC 461 ms 18816 KB
1_04.txt AC 426 ms 18560 KB
1_05.txt AC 459 ms 18560 KB
1_06.txt AC 423 ms 18304 KB
1_07.txt AC 452 ms 18304 KB
1_08.txt AC 406 ms 18048 KB
1_09.txt AC 399 ms 18048 KB
1_10.txt AC 331 ms 18048 KB
1_11.txt AC 295 ms 18048 KB
1_12.txt AC 336 ms 18048 KB
1_13.txt AC 294 ms 18048 KB
1_14.txt AC 335 ms 18048 KB
1_15.txt AC 334 ms 18048 KB
1_16.txt AC 325 ms 17920 KB
1_17.txt AC 394 ms 17920 KB
1_18.txt AC 403 ms 17920 KB
1_19.txt AC 319 ms 18048 KB
1_20.txt AC 380 ms 17792 KB
1_21.txt AC 354 ms 18048 KB
1_22.txt AC 387 ms 17920 KB
1_23.txt AC 394 ms 17920 KB
1_24.txt AC 408 ms 17792 KB
1_25.txt AC 382 ms 17920 KB
1_26.txt AC 359 ms 17792 KB
1_27.txt AC 388 ms 17920 KB
1_28.txt AC 360 ms 17920 KB
1_29.txt AC 405 ms 17792 KB
1_30.txt AC 389 ms 17920 KB
1_31.txt AC 377 ms 17792 KB