제출 #1194344

#제출 시각아이디문제언어결과실행 시간메모리
1194344simona1230기지국 (IOI20_stations)C++20
0 / 100
319 ms5260 KiB
#include "stations.h" #include <bits/stdc++.h> using namespace std; vector<int> g[200001]; vector<int> l; int num=0; int lf[200001],rt[200001]; void dfs(int i,int p) { lf[i]=num++; for(int j=0;j<g[i].size();j++) { int nb=g[i][j]; if(nb==p)continue; dfs(nb,i); } rt[i]=num-1; l[i]=lf[i]*1000+rt[i]; } std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { l.clear(); for(int i=0;i<n;i++) l.push_back(0); for(int i=0; i<n; i++) g[i].clear(); for(int i=0; i<n-1; i++) g[u[i]].push_back(v[i]),g[v[i]].push_back(u[i]); dfs(0,-1); return l; } int find_next_station(int s, int t, std::vector<int> c) { int l1=s/10000,r1=s%10000; int l2=t/10000,r2=t%10000; if(r1-l1>r2-l2) { for(int i=0;i<c.size();i++) { int cl=c[i]/10000; int cr=c[i]%10000; if(cr-cl>r1-l1)continue; if(cl<=l2&&r2<=cr)return c[i]; } } for(int i=0;i<c.size();i++) { int cl=c[i]/10000; int cr=c[i]%10000; if(cr-cl>r1-l1)return c[i]; } }

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

stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:59:1: warning: control reaches end of non-void function [-Wreturn-type]
   59 | }
      | ^
#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...