제출 #1195583

#제출 시각아이디문제언어결과실행 시간메모리
1195583anmattroiA Difficult(y) Choice (BOI21_books)C++17
10 / 100
0 ms412 KiB
#include "books.h" #include <bits/stdc++.h> using namespace std; map<int, long long> cached; long long get(int x) { return cached.count(x) ? cached[x] : cached[x] = skim(x); } void solve(int N, int K, long long A, int S) { int lo = K-1, hi = N; while (hi - lo > 1) { int mid = (lo + hi) >> 1; int64_t SUM = 0; for (int i = mid-K+1; i <= mid; i++) SUM += get(i); if (SUM >= A) hi = mid; else lo = mid; } int64_t SUM = 0; for (int i = hi-K+1; i <= hi; i++) SUM += get(i); if (A <= SUM && SUM <= 2 * A) { vector<int> ans; for (int i = hi-K+1; i <= hi; i++) ans.emplace_back(i); answer(ans); return; } 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...