Submission #1201696

#TimeUsernameProblemLanguageResultExecution timeMemory
1201696HappyCapybaraFinding Routers (IOI20_routers)C++20
100 / 100
1 ms328 KiB
#include "routers.h"
#include<bits/stdc++.h>
using namespace std;

vector<int> find_routers(int l, int n, int q){
  vector<int> res(1, 0);
  vector<int> his(n, l);
  for (int i=1; i<n; i++){
    int lo = res.back(), hi = his[i];
    while (lo < hi-1){
      int mid = (lo+hi)/2;
      int x = use_detector(mid);
      if (x >= i){
        hi = mid;
        for (int j=x; j>i; j--) his[j] = min(his[j], mid);
      }
      else lo = mid;
    }
    res.push_back(2*lo-res.back());
  }
  return res;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...