Submission #1229561

#TimeUsernameProblemLanguageResultExecution timeMemory
1229561LaMatematica14A Difficult(y) Choice (BOI21_books)C++20
0 / 100
1 ms408 KiB
#include <bits/stdc++.h>
using namespace std;

long long skim(int i);
void answer(vector<int> v);
void impossible();

void solve(int N, int K, long long A, int S) {
    int l = 0, r = N-K;
    long long la = -1, lo = -1;
    auto ask = [&](int k) {
        long long sum = 0;
        for (int i = 0; i < K; i++) sum += skim(i+k);
        la = sum;
        if (la >= A && la <= 2*A) lo = sum;
    };
    while (l < r-1) {
        int m = (l+r)/2;
        ask(m);
        if (la <= 2*A) l = m;
        else r = m;
    }
    if (lo < A) impossible();
    else {
        vector<int> ret(K);
        iota(ret.begin(), ret.end(), l);
        answer(ret);
    } 
}
#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...