# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1230132 | sethod | Finding Routers (IOI20_routers) | C++20 | 0 ms | 0 KiB |
#include "routers.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> find_routers(int l, int n, int q) {
vector<int> ans;
ans.push_back(0);
itn road[l];
memset(road, -1, sizeof(road));
for(int i = 1; i < n; i++){
int l = ans.back();
int r = l - 1;
int pos = -1;
while(l > r){
int m = (l + r) / 2;
if(road[m] == -1) road[m] = use_detector(m);
if(road[m] >= i){
r = m - 1;
pos = m;
}
else l = m + 1;
}
int tmp = pos - ans[i - 1];
ans[i] = pos + (tmp - 1) - 1;
}
return ans;
}