제출 #524647

#제출 시각아이디문제언어결과실행 시간메모리
524647ammar2000Dynamic Diameter (CEOI19_diameter)C++17
11 / 100
5082 ms16448 KiB
#include<bits/stdc++.h> #define ll long long #define pb push_back #define F first #define S second #define coy cout<<"YES\n" #define con cout<<"NO\n" #define co1 cout<<"-1\n" #define sc(x) scanf("%lld",&x) #define all(x) x.begin(),x.end() #define fast ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); using namespace std; const int SI=3e5+7; ll INF=8e18+7; int dx[] = {1 , -1 , 0 , 0}; int dy[] = {0 , 0 , 1 , -1}; int MOD=1e9+7; ll n,q,w,last,len[SI]; ll vis[SI],c,ans; vector < pair < ll,ll> > v[SI]; void dfs(int node,ll dep) { vis[node]=c; ans=max(ans,dep); for (auto i:v[node]) { if (vis[i.F]==c) continue ; dfs(i.F,dep+len[i.S]); } } void DFS() { for (int i=1;i<=n;i++) c++,dfs(i,0); cout << ans<<"\n"; } int main() { fast cin>>n>>q>>w; for (int i=0;i<n-1;i++) { ll a,b,c; cin>>a>>b>>c; len[i]=c; v[a].pb({b,i}); v[b].pb({a,i}); } while (q--) { ll d,e; cin>>d>>e; d=(d+last)%(n-1); e=(e+last)%w; len[d]=e; ans=-1; c++; //for (int i=0;i<n-1;i++)\ cout<< len[i]<<" ";\ cout <<"\n"; DFS(); last=ans; } return 0; }

컴파일 시 표준 에러 (stderr) 메시지

diameter.cpp:59:8: warning: multi-line comment [-Wcomment]
   59 |        //for (int i=0;i<n-1;i++)\
      |        ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...