Submission #1301563

#TimeUsernameProblemLanguageResultExecution timeMemory
1301563efegA Difficult(y) Choice (BOI21_books)C++20
0 / 100
2 ms1192 KiB
#include <bits/stdc++.h> #include "books.h" using namespace std; #define pb push_back #define all(v) v.begin(),v.end() using i64 = long long; template<typename T> using vec = vector<T>; vec<i64> x(1e5 + 100,-1); i64 get(int idx){ if (x[idx] != -1) return x[idx]; return x[idx] = skim(idx); } void solve(int N, int K, long long A, int S) { i64 sm = 0; vec<int> vecans; for (int i = 1; i <= K; i++){ sm += get(i); vecans.pb(i); } if (sm >= A && sm <= 2*A) { answer(vecans); } int s = 1,e = N; while (e - s > 1){ int m = (s + e) / 2; if (sm + get(m) > A){ e = m; } else { s = m; } } for (int i = 0; i < K; i++){ vecans[K - i - 1] = s - i; sm -= get(K - i - 1); sm += get(s - i); if (sm >= A && sm <= 2 * A){ answer(vecans); } } 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...