#include "routers.h"
#include <iostream>
#include <vector>
using namespace std;
std::vector<int> find_routers(int l, int n, int q) {
int idx = l, a, cur;
vector<int> ans(n, 0),mn(n,0), mx(n,l);
for (int i = n - 1; i > 0; i--) {
while (mx[i] < mn[i])
idx++;
cur = mn[i];
for (int step = (mx[i]-mn[i]+1)/2; step > 0; step /= 2) {
cur += step;
while (cur > l)cur--;
a = use_detector(cur);
mx[a] = min(cur,mx[a]);
if (a < n - 1)mn[a + 1] = max(mx[a + 1], cur);
if (a >= i)cur -= step;
if (step > 1)step++;
}
idx = cur;
ans[i] = cur;
}
for (int i = 1; i < n; i++) {
ans[i] = ans[i] * 2 - ans[i - 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... |