Submission #210851

#TimeUsernameProblemLanguageResultExecution timeMemory
210851LawlietDynamic Diameter (CEOI19_diameter)C++17
7 / 100
408 ms10828 KiB
#include <bits/stdc++.h> using namespace std; typedef long long int lli; const int MAXN = 100010; int n, q; int weight[MAXN]; lli maxW; lli lastAns; multiset< lli > w; lli diameter() { lli sum = 0; auto it = w.end(); it--; sum += *it; it--; sum += *it; return sum; } int main() { scanf("%d %d %lld",&n,&q,&maxW); w.insert( 0 ); for(int i = 1 ; i < n ; i++) { int U, V, W; scanf("%d %d %d",&U,&V,&W); w.insert( W ); weight[i] = W; } diameter(); for(int i = 1 ; i <= q ; i++) { lli d, e; scanf("%lld %lld",&d,&e); d = ( d + lastAns )%( n - 1 ) + 1; e = ( e + lastAns )%maxW; w.erase( w.find( weight[d] ) ); weight[d] = e; w.insert( weight[d] ); lastAns = diameter(); printf("%lld\n",lastAns); } }

Compilation message (stderr)

diameter.cpp: In function 'int main()':
diameter.cpp:33:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d %lld",&n,&q,&maxW);
  ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
diameter.cpp:40:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d %d %d",&U,&V,&W);
   ~~~~~^~~~~~~~~~~~~~~~~~~~~
diameter.cpp:51:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld %lld",&d,&e);
   ~~~~~^~~~~~~~~~~~~~~~~~~
#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...