提出 #68974938


ソースコード 拡げる

#include<iostream>
#include<algorithm>
#include<vector>
#define ub upper_bound
#define pb push_back
#define pii pair<int,int>
#define fi first
#define se second
using namespace std;
const int N=1e5+10;
int n,m,q,f[N],s[N],tim[N];
vector <pii> sp[N];
int finds(int x,int lim) {return tim[x]<=lim?finds(f[x],lim):x;} 
int chk(int x,int lim)
{
	int tp=ub(sp[x].begin(),sp[x].end(),(pii){lim,m})-sp[x].begin()-1;
	return sp[x][tp].se;
}
int check(int x,int y,int lim)
{
	int fx=finds(x,lim),fy=finds(y,lim);
	return fx==fy?chk(fx,lim):chk(fx,lim)+chk(fy,lim);
}
int main()
{
	ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
	cin>>n>>m;
	for(int i=1;i<=n;i++) f[i]=i,s[i]=1,tim[i]=m+1,sp[i].pb({0,1});
	for(int i=1;i<=m;i++)
	{
		int u,v,x,y; cin>>u>>v,x=finds(u,m),y=finds(v,m);
		if(x!=y)
		{
			if(s[x]>s[y]) swap(x,y);
			tim[x]=i,s[y]+=s[x],f[x]=y,sp[y].pb({i,s[y]});
		}
	}
	cin>>q;
	while(q--)
	{
		int x,y,z,l=1,r=m,res=m; cin>>x>>y>>z;
		while(l<=r)
		{
			int mid=((l+r)>>1);
			if(check(x,y,mid)>=z) res=mid,r=mid-1;
			else l=mid+1;
		}
		cout<<res<<'\n';
	}
	return 0;
}

提出情報

提出日時
問題 D - Stamp Rally
ユーザ KSCD__
言語 C++ 20 (gcc 12.2)
得点 1000
コード長 1132 Byte
結果 AC
実行時間 243 ms
メモリ 11844 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 1000 / 1000
結果
AC × 1
AC × 33
セット名 テストケース
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
ケース名 結果 実行時間 メモリ
0_00.txt AC 1 ms 3468 KiB
1_00.txt AC 126 ms 10800 KiB
1_01.txt AC 139 ms 10796 KiB
1_02.txt AC 232 ms 10812 KiB
1_03.txt AC 166 ms 10844 KiB
1_04.txt AC 239 ms 10848 KiB
1_05.txt AC 181 ms 11220 KiB
1_06.txt AC 243 ms 10864 KiB
1_07.txt AC 191 ms 10860 KiB
1_08.txt AC 202 ms 10820 KiB
1_09.txt AC 174 ms 11004 KiB
1_10.txt AC 146 ms 10744 KiB
1_11.txt AC 132 ms 11064 KiB
1_12.txt AC 106 ms 11844 KiB
1_13.txt AC 103 ms 11688 KiB
1_14.txt AC 68 ms 10552 KiB
1_15.txt AC 73 ms 10444 KiB
1_16.txt AC 196 ms 11184 KiB
1_17.txt AC 186 ms 11140 KiB
1_18.txt AC 184 ms 10996 KiB
1_19.txt AC 197 ms 11336 KiB
1_20.txt AC 184 ms 10804 KiB
1_21.txt AC 189 ms 11272 KiB
1_22.txt AC 188 ms 10968 KiB
1_23.txt AC 188 ms 11028 KiB
1_24.txt AC 181 ms 10484 KiB
1_25.txt AC 185 ms 11188 KiB
1_26.txt AC 185 ms 10976 KiB
1_27.txt AC 186 ms 11148 KiB
1_28.txt AC 186 ms 11184 KiB
1_29.txt AC 180 ms 10456 KiB
1_30.txt AC 185 ms 11056 KiB
1_31.txt AC 183 ms 10648 KiB