Submission #1003872

#TimeUsernameProblemLanguageResultExecution timeMemory
1003872vjudge1Pastiri (COI20_pastiri)C++17
0 / 100
163 ms34384 KiB
#include <bits/stdc++.h> using namespace std; #define sz(v) (int)v.size() const int MAXN = 5*1e5+5; vector<int> adj[MAXN]; set<int> ans; queue<int> q; int dist[MAXN], qtd[MAXN], l[MAXN]; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n,k; cin>>n>>k; for(int i = 1; i < n; i++){ int a,b; cin>>a>>b; adj[a].push_back(b); adj[b].push_back(a); } for(int i = 0; i < k; i++){ int x; cin>>x; dist[x] = 1; qtd[x] = 0; q.push(x); } while(!q.empty()){ int x = q.front(); q.pop(); if(l[x] == 0){ l[x] = x; ans.insert(x); } for(int viz : adj[x]){ if(dist[viz] == dist[x]+1){ qtd[viz]++; ans.erase(l[x]); if(qtd[viz] == 2){ ans.erase(l[viz]); l[viz] = 0; } } if(dist[viz] == 0){ dist[viz] = dist[x] + 1; qtd[viz] = 1; l[viz] = l[x]; q.push(viz); } } } cout<<sz(ans)<<"\n"; for(int viz : ans)cout<<viz<<" "; cout<<"\n"; }

Compilation message (stderr)

pastiri.cpp: In function 'int main()':
pastiri.cpp:58:2: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   58 |  for(int viz : ans)cout<<viz<<" "; cout<<"\n";
      |  ^~~
pastiri.cpp:58:36: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   58 |  for(int viz : ans)cout<<viz<<" "; cout<<"\n";
      |                                    ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...