Submission #1138026

#TimeUsernameProblemLanguageResultExecution timeMemory
1138026ConquerConquererA Difficult(y) Choice (BOI21_books)C++20
10 / 100
0 ms424 KiB
#include <bits/stdc++.h>
#include "books.h"
using namespace std;

long long value[100005];

void solve(int N, int K, long long A, int S) {
    int low = 1, high = N - K + 1;
    while (low <= high) {
        int mid = (low + high) >> 1;

        long long total = 0;
        for (int i = mid; i < mid + K; i++) {
            if (!value[i]) value[i] = skim(i);
            total += value[i];
        }

        if (A <= total && total <= A + A) {
            vector<int> v;
            for (int i = mid; i < mid + K; i++)
                v.push_back(i);
            answer(v);
            return ;
        }

        if (total < A) low = mid + 1;
            else high = mid - 1;
    }
    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...