Submission #488766

# Submission time Handle Problem Language Result Execution time Memory
488766 2021-11-20T11:56:35 Z cfalas Dynamic Diameter (CEOI19_diameter) C++14
0 / 100
239 ms 16108 KB
#include<bits/stdc++.h>
using namespace std;
#define mp make_pair
#define INF 10000000
#define MOD 1000000007
#define MID ((l+r)/2)
#define HASHMOD 2305843009213693951
#define ll long long
#define ull unsigned long long
#define F first
#define S second
typedef pair<ll, ll> ii;
typedef pair<ii, ll> iii;
typedef vector<ll> vi;
typedef vector<ii> vii;
typedef map<int, int> mii;

#define EPS 1e-6
#define FOR(i,n) for(int i=0;i<((int)(n));i++)
#define FORi(i,a,b) for(int i=((int)(a));i<((int)(b));i++)
#define FOA(v, a) for(auto v : a)

int t, n;
vi a, b;

vector<vii> adj;

ii f;

void dfs(int s, int p=-1, int d=0){
	if(d>f.F) f = max(f, {d, s});
	FOA(v, adj[s]){
		if(v.F!=p) dfs(v.F, s, d+v.S);
	}
}

int main(){
	int q;
	int w;
	cin>>n>>q>>w;
	adj.assign(n+1, vii());

	vector<pair<ii,ii> > edg(n-1);
	int m = 0, sm=0;
	set<ii> ws;
	vi wu(n);
	FOR(i,n-1){
		int a, b, c;
		cin>>a>>b>>c;
		ws.insert({-c, i});
		wu[i] = c;
		edg[i] = {{a, adj[a].size()}, {b, adj[b].size()}};
		adj[a].push_back({b,c});
		adj[b].push_back({a,c});
	}
	int last=0;
	while(q--){
		int a, b;
		cin>>a>>b;
		a= (a + last) % (n-1);
		b = (b+last) % w;

		adj[edg[a].F.F][edg[a].F.S].S = b;
		adj[edg[a].S.F][edg[a].S.S].S = b;

		f = {0,1};
		dfs(1);
		dfs(f.S);

		ws.erase({-wu[a], a});
		ws.insert({-b, a});
		wu[a] = b;


		//last = f.F;
		last = -(*ws.begin()).F - (*(++ws.begin())).F;
		cout<<last<<endl;

	}
}

Compilation message

diameter.cpp: In function 'int main()':
diameter.cpp:44:6: warning: unused variable 'm' [-Wunused-variable]
   44 |  int m = 0, sm=0;
      |      ^
diameter.cpp:44:13: warning: unused variable 'sm' [-Wunused-variable]
   44 |  int m = 0, sm=0;
      |             ^~
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 4 ms 204 KB Output is correct
4 Correct 42 ms 356 KB Output is correct
5 Correct 239 ms 632 KB Output is correct
6 Incorrect 0 ms 204 KB Output isn't correct
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 17 ms 476 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 169 ms 16108 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -