Submission #1200509

#TimeUsernameProblemLanguageResultExecution timeMemory
1200509eyadoozFinding Routers (IOI20_routers)C++20
0 / 100
1 ms584 KiB
// #include "bits/stdc++.h"
#include "routers.h"

using namespace std;

// int use_detector(int x){
//   cout << x << endl;
//   int y;

//   cin >> y;

//   return y;
// }

std::vector<int> find_routers(int len, int n, int q){
  vector<int>p;
  p.push_back(0);

  int remember[100005];
  for(int i = 0;i < 100005;i++) remember[i]=-1;

  for(int i = 0; i < n - 1; i++){
    int l = p.back() + 1, r = ((len - p.back() - (n - i - 2) * 2) / 2) + p.back();
    // cout << r << ' ';
    while(l < r){
      int mid = (l + r) / 2;

      if(remember[mid] == -1) remember[mid] = use_detector(mid);

      if(remember[mid] != i) r = mid;
      else l = mid + 1;
    }

    l--;
    p.push_back(l + (l - p.back()));
  }

  return p;
}

// signed main()
// {
//   vector<int>ans = find_routers(6, 3, 0);
//   for(int i : ans) cout << i << ' ';
// }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...