Submission #673524

#TimeUsernameProblemLanguageResultExecution timeMemory
673524Essa2006Stations (IOI20_stations)C++14
0 / 100
2 ms592 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long #define endl '\n' #define FF first #define SS second #define all(a) a.begin(), a.end() #define mod (ll)(1000000007) vector<int>Vis; vector<vector<int>>A; vector<array<int, 2>>dp; // time, max_time int time_=0; void dfs(int ind){ Vis[ind]=1, dp[ind][0]=dp[ind][1]=time_++; for(int i=0;i<A[ind].size();i++){ if(!Vis[A[ind][i]]){ dfs(A[ind][i]); dp[ind][1]=max(dp[ind][1], dp[A[ind][i]][1]); } } } vector<int> label(int n, int k, vector<int> u, vector<int> v) { vector<int>labels(n); for(int i=0;i<n;i++) labels[i]=i; dp.clear(), Vis.clear(), A.clear(); dp.resize(n), Vis.resize(n), A.resize(n); while(--n) A[u[n]].push_back(v[n]), A[v[n]].push_back(u[n]); dfs(0); return labels; } int find_next_station(int s, int t, vector<int> c) { for(int i=0;i<c.size();i++){ if(dp[t][0]<dp[s][0]){ if(dp[c[i]][0]<=dp[s][0]) return c[i]; } else{ if(dp[t][0]>=dp[c[i]][0] && dp[t][0]<=dp[c[i]][1]) return c[i]; } } }

Compilation message (stderr)

stations.cpp: In function 'void dfs(int)':
stations.cpp:16:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |     for(int i=0;i<A[ind].size();i++){
      |                 ~^~~~~~~~~~~~~~
stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:36:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 |     for(int i=0;i<c.size();i++){
      |                 ~^~~~~~~~~
stations.cpp:46:1: warning: control reaches end of non-void function [-Wreturn-type]
   46 | }
      | ^
#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...