#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |