Submission #1011232

#TimeUsernameProblemLanguageResultExecution timeMemory
1011232overwatch9A Difficult(y) Choice (BOI21_books)C++17
0 / 100
1 ms384 KiB
#include <bits/stdc++.h>

#include "books.h"

using namespace std;
using ll = long long;
//
// --- 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, ll A, int S) {
    vector <int> ans;
    ll sum = 0;
    int lo = 1, hi = N;
    while (S-- && lo <= hi) {
        int mid = (lo + hi) / 2;
        ll x = skim(mid);
        if (sum + x > 2 * A)
            hi = mid-1;
        else {
            if (sum + x < A) {
                sum += x;
                ans.push_back(mid);
                lo = mid + 1;
            } else {
                sum += x;
                ans.push_back(mid);
                break;
            }
        }
    }
    sort(ans.begin(), ans.end());
    if (sum >= A && (int)ans.size() < K) {
        int sz = ans.size();
        for (int i = 1; i <= N && (int)ans.size() < K; i++) {
            if (binary_search(ans.begin(), ans.begin() + sz + 1, i))
                continue;
            ans.push_back(i);
        }
    }
    if ((int)ans.size() == K)
        answer(ans);
    else
        impossible();
}

// int main() {
//     int n, k, a, s;
//     cin >> n >> k >> a >> s;
//     vector <int> nums(n+1);
//     for (int i = 1; i <= n; i++)
//         cin >> nums[i];
//     auto res = solve(n, k, a, s);
// }
#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...