제출 #1311273

#제출 시각아이디문제언어결과실행 시간메모리
1311273hmms127Stations (IOI20_stations)C++20
0 / 100
396 ms588 KiB
//#include "stations.h" #include <vector> #include<bits/stdc++.h> #define pb push_back using namespace std; const int N=1e3+5; vector<int>labels;vector<vector<int>>adj; int cnt=0; void dfs(int node,int par,int col){ if(col==1)labels[node]=cnt++; for(auto it:adj[node])if(it!=par)dfs(it,node,col^1); if(col==0)labels[node]=cnt++; } std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { labels.resize(n); adj.assign(n,{}); cnt=0; for(int i=0;i<n-1;i++){ adj[u[i]].pb(v[i]); adj[v[i]].pb(u[i]); } dfs(0,-1,0); return labels; } int find_next_station(int s, int t, std::vector<int> c) { if(c[0]>s){ if((t<s)||(c.size()>=2&&t>c[c.size()-2]))return c.back(); int x=(lower_bound(c.begin(),c.end(),t)-c.begin()); return c[x]; } else { if((t>s)||(c.size()>=2&&t<c[1]))return c[0]; int idx=(upper_bound(c.begin(),c.end(),t)-c.begin()); return c[idx-1]; } return s; }
#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...