Submission #121973

#TimeUsernameProblemLanguageResultExecution timeMemory
121973KLPPDesignated Cities (JOI19_designated_cities)C++14
7 / 100
516 ms43384 KiB
#include<bits/stdc++.h> using namespace std; typedef long long int lld; typedef pair<lld,lld> pii; #define rep(i,a,b) for(int i=a;i<b;i++) #define trav(a,v) for(auto a:v) vector<pii> nei[200000]; vector<pii> inv[200000]; bool visited[200000]; lld size[200000]; lld size2[200000]; void DFS(int node){ visited[node]=true; size[node]=0; trav(p,nei[node]){ if(!visited[p.first]){ DFS(p.first); size[node]+=size[p.first]+p.second; size2[p.first]=-p.second; } } } void DFS2(int node){ visited[node]=true; trav(p,inv[node]){ if(!visited[p.first]){ //cout<<node<<" "<<p.first<<" "<<p.second<<endl; size2[p.first]+=size2[node]+p.second; DFS2(p.first); } } } int main(){ int n; scanf("%d",&n); rep(i,0,n-1){ int x,y; lld z,w; scanf("%d %d %lld %lld",&x,&y,&z,&w); x--;y--; nei[x].push_back(pii(y,z)); nei[y].push_back(pii(x,w)); inv[x].push_back(pii(y,w)); inv[y].push_back(pii(x,z)); } rep(i,0,n)visited[i]=false; DFS(0); size2[0]=size[0]; rep(i,0,n)visited[i]=false; DFS2(0); lld ans=size2[0]; rep(i,0,n){ ans=min(ans,size2[i]); //cout<<size2[i]<<endl; } printf("%lld\n",ans); return 0; }

Compilation message (stderr)

designated_cities.cpp: In function 'int main()':
designated_cities.cpp:37:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d",&n);
   ~~~~~^~~~~~~~~
designated_cities.cpp:41:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d %d %lld %lld",&x,&y,&z,&w);
     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...