제출 #810731

#제출 시각아이디문제언어결과실행 시간메모리
810731MyCodeA Difficult(y) Choice (BOI21_books)C++17
10 / 100
2 ms300 KiB
#include <bits/stdc++.h>

#include "books.h"

using namespace std;

void solve(int n, int k, long long A, int S) {
    function<long long(int)> get = [&](int i) {
        long long sum = 0;
        for (int j = i; j < i + k; j++)
            sum += skim(j);
        return sum;
    };
    int l = 1, r = n - k + 1;
    while (r - l > 1) {
        int m = (l + r) / 2;
        if (get(m) >= A)
            r = m;
        else
            l = m;
    }
    int ind = -1;
    long long s1 = get(l), s2 = get(r);
    if (s1 >= A && s1 <= 2 * A) {
        ind = l;
    } else if (s2 >= A && s2 <= 2 * A) {
        ind = r;
    }
    if (ind == -1) {
        impossible();
        return;
    }
    vector<int> ans;
    for (int j = ind; j < ind + k; j++)
        ans.emplace_back(j);
    answer(ans);
}
#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...