제출 #1011232

#제출 시각아이디문제언어결과실행 시간메모리
1011232overwatch9A Difficult(y) Choice (BOI21_books)C++17
0 / 100
1 ms384 KiB
#include <bits/stdc++.h> #include "books.h" using namespace std; using ll = long long; // // --- Sample implementation for the task books --- // // To compile this program with the sample grader, place: // books.h books_sample.cpp sample_grader.cpp // in a single folder and run: // g++ books_sample.cpp sample_grader.cpp // in this folder. // void solve(int N, int K, ll A, int S) { vector <int> ans; ll sum = 0; int lo = 1, hi = N; while (S-- && lo <= hi) { int mid = (lo + hi) / 2; ll x = skim(mid); if (sum + x > 2 * A) hi = mid-1; else { if (sum + x < A) { sum += x; ans.push_back(mid); lo = mid + 1; } else { sum += x; ans.push_back(mid); break; } } } sort(ans.begin(), ans.end()); if (sum >= A && (int)ans.size() < K) { int sz = ans.size(); for (int i = 1; i <= N && (int)ans.size() < K; i++) { if (binary_search(ans.begin(), ans.begin() + sz + 1, i)) continue; ans.push_back(i); } } if ((int)ans.size() == K) answer(ans); else impossible(); } // int main() { // int n, k, a, s; // cin >> n >> k >> a >> s; // vector <int> nums(n+1); // for (int i = 1; i <= n; i++) // cin >> nums[i]; // auto res = solve(n, k, a, s); // }
#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...