# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1230083 | warrenn | Finding Routers (IOI20_routers) | C++20 | 0 ms | 0 KiB |
#include "routers.h"
using namespace std;
#define ll long long
vector<ll> find_routers(ll l, ll n, ll qu) {
pair<ll,ll>simpan[n+1];
ll lst=1;
for(ll q=0;q<=n;q++){
ll l=lst;
ll r=n;
ll hmm=-1;
while(l<=r){
ll mid=(l+r)/2;
ll idx=use_detector(mid);
if(idx!=q){
r=mid-1;
}
else{
l=mid+1;
hmm=mid;
}
}
simpan[q]={lst,hmm};
lst=hmm+1;
}
vector<ll>ans;
ans.push_back(0);
for(ll q=1;q<=n;q++){
pair<ll,ll>prev=simpan[q-1];
pair<ll,ll>cur=simpan[q];
ll sblm=ans.back();
ll hihi=cur.first-sblm+prev.second-1;
ans.push_back(hihi);
}
return ans;
}