Submission #1195586

#TimeUsernameProblemLanguageResultExecution timeMemory
1195586anmattroiA Difficult(y) Choice (BOI21_books)C++17
20 / 100
61 ms616 KiB
#include "books.h" #include <bits/stdc++.h> using namespace std; long long cached[100005]; long long get(int x) { return cached[x] ? cached[x] : cached[x] = skim(x); } void solve(int N, int K, long long A, int S) { for (int i = 1; i <= N; i++) get(i); for (int i = 1; i <= N-K+1; i++) { int64_t SUM = 0; for (int j = i; j <= i+K-1; j++) SUM += get(j); if (A <= SUM && SUM <= 2*A) { vector<int> ans; for (int j = i; j <= i+K-1; j++) ans.emplace_back(j); answer(ans); return; } } int FML = 0; for (int i = 1; i <= N; i++) if (get(i) >= A) { FML = i; break; } if (FML < K) { impossible(); return; } int64_t SUM = 0; for (int i = 1; i < K; i++) SUM += get(i); SUM += get(FML); if (A <= SUM && SUM <= 2*A) { vector<int> ans; for (int i = 1; i < K; i++) ans.emplace_back(i); ans.emplace_back(FML); 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...