Submission #1200505

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

using namespace std;

// int use_detector(int x){
//   if(x == 0) return 0;
//   if(x == 1) return 0;
//   if(x == 2) return 1;
//   if(x == 3) return 1;
//   if(x == 4) return 1;
//   if(x == 5) return 2;
//   if(x == 6) return 2;
//   if(x == 7) return 2;
//   if(x == 8) return 3;
//   if(x == 9) return 3;
//   if(x == 10) return 4;
// }

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

  int remember[100005];
  memset(remember, -1, sizeof remember);

  for(int i = 0; i < n - 1; i++){
    int l = p.back() + 1, r = len;
    // 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 - 1;
      else l = mid + 1;
    }

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

  return p;
}

// signed main()
// {
//   vector<int>ans = find_routers(10, 5, 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...