# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1200115 | moha1111 | Finding Routers (IOI20_routers) | C++20 | 0 ms | 0 KiB |
#include "bits/stdc++.h"
using namespace std;
map<int , int> askd;
int ask(int i)
{
if(askd.find(i) != askd.end())
return askd[i];
return askd[i] = use_detector(i);
}
vector<int> find_routers(int l , int n , int q)
{
vector<int> ans;
ans.push_back(0);
while(ans.size() < n)
{
int st = ans.back() , en = l;
while(st <= en)
{
int mid = (st + en) / 2;
if(ask(mid) != ans.back())
en = mid - 1;
else
st = mid + 1;
}
ans.push_back(2 * st);
}
return ans;
}