제출 #615915

#제출 시각아이디문제언어결과실행 시간메모리
615915eNGy기지국 (IOI20_stations)C++17
100 / 100
986 ms740 KiB
#include <bits/stdc++.h> #define con(x) (cerr << __LINE__ << ": " << #x << ' ' << (x) << endl, (x)) #define vis() (cerr << __LINE__ << endl) #define ll long long #define f first #define s second #define pb push_back #define rsz resize #define all(x) begin(x), end(x) #define sz(x) (int)(x).size() #define mp make_pair using namespace std; void dfs(int n, int p, int d, int &e, vector<int> &L, vector<vector<int>> &G){ if(d%2 == 0) L[n] = e++; for(int v: G[n]){ if(v != p){ dfs(v, n, d+1, e, L, G); } } if(d%2 != 0) L[n] = e++; } std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v){ vector<vector<int>> G(n); for(int i=0; i<n-1; i++){ G[u[i]].pb(v[i]); G[v[i]].pb(u[i]); } vector<int> L(n); int e = 0; dfs(0, -1, 0, e, L, G); //for(int l: L) cout << l << ' '; cout << endl; return L; } int find_next_station(int s, int t, std::vector<int> c){ int N = c.size(); if(N == 1) return c[0]; pair<int, int> S; vector<pair<int, int>> C(N); if(c[0] > s){ // s open C[N-1] = {-1, -1}; S.s = c[N-2]; S.f = s; if(t < S.f || t > S.s) return c[N-1]; for(int i=N-2; i>0; i--){ C[i].s = c[i]; C[i].f = c[i-1] + 1; } C[0].f = s + 1; C[0].s = c[0]; }else{ // s close C[0] = {-1, -1}; S.f = c[1]; S.s = s; if(t < S.f || t > S.s) return c[0]; for(int i=1; i<N-1; i++){ C[i].f = c[i]; C[i].s = c[i+1] - 1; } C[N-1].f = c[N-1]; C[N-1].s = s - 1; } //cout << S.f << ' ' << S.s << endl; for(int i=0; i<N; i++){ //cout << C[i].f << ' ' << C[i].s << endl; if(C[i].f <= t && t <= C[i].s) return c[i]; } }

컴파일 시 표준 에러 (stderr) 메시지

stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:47:31: warning: control reaches end of non-void function [-Wreturn-type]
   47 |     vector<pair<int, int>> C(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...
#Verdict Execution timeMemoryGrader output
Fetching results...