10644 2024. 04. 07 17:46:44 111 XORfa visszatér cpp17 Hibás válasz 0/100 1.587s 20348 KiB
#include<bits/stdc++.h>
using namespace std;

#define int long long

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int N,Q;
	cin>>N>>Q;
	vector<vector<pair<int,int>>>g(N+1);
	for(int i=0;i<N-1;i++){
		int a,b,w;
		cin>>a>>b>>w;
		g[a].emplace_back(b,w);
		g[b].emplace_back(a,w);
	}
	vector<int>v(N+1);
	auto dfs=[&](auto self,int i,int p,int x)->void{
		v[i]=x;
		for(auto[j,w]:g[i]){
			if(j==p){
				continue;
			}
			self(self,j,i,x^w);
		}
	};
	dfs(dfs,1,0,0);
	set<int>s;
	multiset<int>ans;
	vector<int>u(N+1);
	vector<vector<int>>p(N+1);
	while(Q--){
		int a;
		cin>>a;
		if(s.count(a)){
			s.erase(a);
			for(int x:p[a]){
				int y=x;
				for(int z:s){
					if((v[x]^v[z])>(v[x]^v[y])){
						y=z;
					}
				}
				ans.erase(ans.find(v[x]^v[u[x]]));
				u[x]=y;
				ans.insert(v[x]^v[y]);
			}
			p[a].clear();
		}
		else{
			int y=a;
			for(int z:s){
				if((v[a]^v[z])>(v[a]^v[y])){
					y=z;
				}
			}
			ans.insert(v[a]^v[y]);
			u[a]=y;
			p[y].push_back(a);
			s.insert(a);
		}
		cout<<*--ans.end()<<'\n';
	}
	return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1832 KiB
2 Elfogadva 3ms 2048 KiB
subtask2 0/11
3 Hibás válasz 3ms 2296 KiB
4 Hibás válasz 3ms 2628 KiB
5 Hibás válasz 3ms 2960 KiB
6 Hibás válasz 3ms 2892 KiB
7 Hibás válasz 3ms 3092 KiB
8 Hibás válasz 3ms 3188 KiB
9 Hibás válasz 3ms 3276 KiB
10 Hibás válasz 3ms 3412 KiB
11 Hibás válasz 3ms 3756 KiB
12 Hibás válasz 3ms 3976 KiB
13 Hibás válasz 3ms 3920 KiB
subtask3 0/13
14 Hibás válasz 61ms 18436 KiB
15 Hibás válasz 64ms 18316 KiB
16 Időlimit túllépés 1.574s 10628 KiB
17 Időlimit túllépés 1.57s 10524 KiB
18 Időlimit túllépés 1.562s 10376 KiB
19 Időlimit túllépés 1.567s 10632 KiB
20 Időlimit túllépés 1.557s 10800 KiB
21 Időlimit túllépés 1.587s 10988 KiB
22 Hibás válasz 64ms 19360 KiB
23 Hibás válasz 67ms 19324 KiB
subtask4 0/17
24 Hibás válasz 6ms 5228 KiB
25 Hibás válasz 4ms 5488 KiB
26 Hibás válasz 7ms 5580 KiB
27 Hibás válasz 8ms 5620 KiB
28 Elfogadva 8ms 5748 KiB
29 Hibás válasz 4ms 5544 KiB
30 Hibás válasz 6ms 5720 KiB
31 Hibás válasz 6ms 5756 KiB
32 Hibás válasz 16ms 5708 KiB
33 Hibás válasz 16ms 5672 KiB
34 Hibás válasz 16ms 5672 KiB
35 Hibás válasz 16ms 5688 KiB
subtask5 0/59
36 Időlimit túllépés 1.55s 11568 KiB
37 Időlimit túllépés 1.534s 11716 KiB
38 Időlimit túllépés 1.567s 11576 KiB
39 Időlimit túllépés 1.562s 11512 KiB
40 Időlimit túllépés 1.554s 11712 KiB
41 Időlimit túllépés 1.562s 11752 KiB
42 Időlimit túllépés 1.577s 11928 KiB
43 Időlimit túllépés 1.557s 11936 KiB
44 Időlimit túllépés 1.577s 12016 KiB
45 Hibás válasz 163ms 20348 KiB
46 Időlimit túllépés 1.559s 12068 KiB
47 Időlimit túllépés 1.565s 12280 KiB
48 Időlimit túllépés 1.546s 12604 KiB
49 Időlimit túllépés 1.57s 12464 KiB