#include <bits/stdc++.h>
#include "routers.h"
using namespace std;
std::vector<int> find_routers(int l, int n, int q){
vector<int> ans={0};
for(int i=0;i<n-1;++i){
int st=ans.back()+1,en=l,cmid=0,mx2pw=0;
for(int i=0;i<30&&((st+(1ll<<i))<=l);++i){
if(use_detector((st+(1ll<<i)))==i){
mx2pw=i;
}
}
st+=(1ll<<(i-1)),en=(1ll<<i);
while(st<=en){
int mid=st+(en-st)/2;
int curr=use_detector(mid);
if(curr==i){
st=mid+1;
cmid=mid;
}else{
en=mid-1;
}
}
ans.push_back(cmid*2-ans.back());
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |