Submission #276003

# Submission time Handle Problem Language Result Execution time Memory
276003 2020-08-20T09:18:16 Z Fasho Dynamic Diameter (CEOI19_diameter) C++14
0 / 100
624 ms 14588 KB
#include <bits/stdc++.h>
#define N 100005
#define ll long long int
#define fo(i,x,y)	for(int i=x;i<=y;i++)
#define fs(ar,n) fo(i,1,n) cin>>ar[i]
#define sp " "
#define fast cin.tie(0);cout.tie(0);ios_base::sync_with_stdio(false)
#define pb push_back
#define ppb pop_back
#define fi first
#define se second
#define ii pair<int,int>
#define lli pair<ll,ll> 
#define mod 1000000007
using namespace std;

ll n,m,ar[N],sum,t,mki1,mki2,mk,mk1,mk2;

pair<lli,ll> p[N];
multiset<ll> st;
vector<int> v[N];

void f(int ind,int back,int dist)
{
	if(dist>mk)
	{
		mk=dist,
		mki1=ind;
	}
	for(int i=0;i<v[ind].size();i++)
	{
		ll x=p[v[ind][i]].fi.fi;
		if(x==ind)
			x=p[v[ind][i]].fi.se;
		ll y=p[v[ind][i]].se;
		if(x==back)
			continue;
		f(x,ind,dist+y);
	}
}
ll calc()
{
	mk=0;
	f(1,1,0);
	swap(mki1,mki2);
	mk=0;
	f(mki2,mki2,0);
	return mk;
}

int main()
{
	fast;
	ll bos;
	cin>>n>>m>>bos;
	fo(i,1,n-1)
	{
		ll a,b,c;
		cin>>a>>b>>c;
		v[a].pb(i);
		v[b].pb(i);
		p[i]={{a,b},c};
			st.insert(c);
		if(mki2!=i)
		{
			if(mk2<c)
				mk2=c,mki2=i;
		}
		if(mk1<mk2)
		{
			swap(mki1,mki2);
			swap(mk1,mk2);
		}
	}
	ll last=0;
	cout<<st.size()<<endl;
	fo(i,1,m)
	{
		ll x, y;
		cin>>x>>y;
		if(i!=1)
		{
			x=(x+last)%(n-1);
			y=(y+last)%bos;
		}
		ll tt=p[x+1].se;
		auto it=st.find(tt);
		st.erase(it);
		st.insert(y);
		p[x+1].se=y;
		it=st.end();
		it--;
		ll a=*it;
		st.erase(it);
		it=st.end();
		it--;
		ll b=*it;

		last=a+b;
		// cout<<"[ans]"<<endl;
		// cerr<<a<<sp<<b<<endl;
		cout<<last<<endl;
		st.insert(a);
		// cerr<<"[d]"<<endl;
	}


} 

Compilation message

diameter.cpp: In function 'void f(int, int, int)':
diameter.cpp:30:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   30 |  for(int i=0;i<v[ind].size();i++)
      |              ~^~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 2688 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 2688 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 2688 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 2816 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 624 ms 14588 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 2688 KB Output isn't correct
2 Halted 0 ms 0 KB -