#include "routers.h"
using namespace std;
std::vector<int> find_routers(int l, int n, int q) {
//int idx = use_detector(0);
std::vector<int> ans;
ans.push_back(0);
int ara[l+1],temp=0;
/*for(int i=0;i<=l;i++){
int k=use_detector(i);
ara[i]=k;
}
/*for(int i=0;i<=l;i++){
if(ara[i]==0 and ara[i+1]==1){
ans.push_back(i*2);
break;
}
}*/
std::vector<int>v;
int low=1,high=l,mid=(low+high)/2;
for(;low<=high;){
mid=(low+high)/2;
int k=use_detector(mid);
if(k>=1){
high=mid-1;
}
else if(k<=0) low=mid+1;
//cout<<mid;
}
v.push_back(high);
for(int i=1;i<n;i++){
low=v.at(v.size()-1)+1,high=l,mid=(low+high)/2;
for(;low<=high;){
mid=(low+high)/2;
int k=use_detector(mid);
if(k>i){
high=mid-1;
}
else if(k<=i) low=mid+1;
//cout<<mid;
}
v.push_back(high);
}
for(int i=0;i<v.size();i++){
ans.push_back(2*v[i]-2-ans.at(ans.size()-1));
}
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... |