제출 #1292831

#제출 시각아이디문제언어결과실행 시간메모리
1292831ChuanChen기지국 (IOI20_stations)C++20
8 / 100
1678 ms436 KiB
#include "stations.h" #include <bits/stdc++.h> using namespace std; const int MAXN = 1e3+3; 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; } return labels; } vector<int> getChild(int id){ vector<int> ans, l, r; ans.push_back(id); if(2*id < 999){ l = getChild(2*id+1); } if(2*id < 998){ r = getChild(2*id+2); } for(int x : l) ans.push_back(x); for(int x : r) ans.push_back(x); l.clear(); r.clear(); return ans; } int find_next_station(int s, int t, vector<int> c){ //menor que eu --> eh meu pai int pai = 0; vector<int> fis[2]; int id = 0; for(int i : c){ if(i < s) pai = i; else{ fis[id] = getChild(i); sort(fis[id].begin(), fis[id].end()); int k = lower_bound(fis[id].begin(), fis[id].end(), t) - fis[id].begin(); if(k < fis[id].size() && fis[id][k] == t) return i; id++; } } return pai; }
#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...