Submission #1333731

#TimeUsernameProblemLanguageResultExecution timeMemory
1333731zhehanA Difficult(y) Choice (BOI21_books)C++20
0 / 100
1 ms344 KiB
#include <bits/stdc++.h>

#include "books.h"

using namespace std;
//
// --- Sample implementation for the task books ---
//
// To compile this program with the sample grader, place:
//     books.h books_sample.cpp sample_grader.cpp
// in a single folder and run:
//     g++ books_sample.cpp sample_grader.cpp
// in this folder.
//

void solve(int N, int K, long long A, int S) {
  // TODO implement this function
  int ub = (2 * A) / K;
  int lb = (A + K - 1) / K;
  int l = 1, r = N, m;
  while (l < r) {
    m = (l + r + 1) / 2;
    int o = skim(m);
    if (o < ub) {
      l = m;
    } else if (o > ub) {
      r = m - 1;
    } else {
      l = m;
      break;
    }
  }
  int ubi = l;
  l = 1, r = N;
  while (l < r) {
    m = (l + r) / 2;
    int o = skim(m);
    if (o < lb) {
      l = m + 1;
    } else if (o > lb) {
      r = m;
    } else {
      r = m;
      break;
    }
  }
  int lbi = r;
  if (ubi - lbi + 1 >= K) {
    vector<int> books(K, 0);
    for (int i = 0; i < K; ++i) {
      books[i] = i + lbi;
    }
    answer(books);
  } else {
    impossible();
  }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...