Submission #640348

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
6403482022-09-14 10:07:38PoonYaPatRoadside Advertisements (NOI17_roadsideadverts)C++14
100 / 100
78 ms11028 KiB
#include <bits/stdc++.h>
using namespace std;
typedef pair<int,int> pii;
int n,m,a[6];
vector<pii> adj[50001];
int level[50001],p[50001][17],dis[50001];
void dfs(int x, int par) {
level[x]=level[par]+1;
p[x][0]=par;
for (int i=1; i<=16; ++i) {
p[x][i]=p[p[x][i-1]][i-1];
}
for (auto s : adj[x]) {
if (s.first==par) continue;
dis[s.first]=dis[x]+s.second;
dfs(s.first,x);
}
}
int lca(int x, int y) {
if (level[x]<level[y]) swap(x,y);
int dif=level[x]-level[y];
for (int i=0; i<=16; ++i) {
if (dif&(1<<i)) x=p[x][i];
}
if (x==y) return x;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

roadsideadverts.cpp: In function 'void solve()':
roadsideadverts.cpp:42:35: warning: 'top_node' may be used uninitialized in this function [-Wmaybe-uninitialized]
   42 |     return dis[x]+dis[y]-2*dis[lca(x,y)];
      |                                ~~~^~~~~
roadsideadverts.cpp:47:9: note: 'top_node' was declared here
   47 |     int top_node, min_level=INT_MAX;
      |         ^~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...