// BINARY SEARCH
// D&C solution: https://oj.uz/submission/1201327
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define FOR(i,N) for(ll i = 0; i < N; i++)
#define F first
#define S second
#define all(x) (x).begin(),(x).end()
#include "routers.h"
vector<int> find_routers(int l, int n, int q) {
vector<int> res(n);
vector<int> ris(n, l+1);
for(int i = 1; i < n; i++) {
int le = res[i-1], ri = ris[i];
while(le < ri - 1) {
int mi = (le + ri) / 2;
int im = use_detector(mi);
if (i <= im) {
ri = mi;
for(int j = i + 1; j <= im; j++) ris[j] = min(ris[j], mi);
}
else le = mi;
}
res[i] = le * 2 - res[i - 1];
}
return res;
}
# | 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... |