Submission #772682

#TimeUsernameProblemLanguageResultExecution timeMemory
772682ZHIRDILBILDIZA Difficult(y) Choice (BOI21_books)C++14
0 / 100
2 ms288 KiB
#include<bits/stdc++.h> #include"books.h" #define ll long long #define fi first #define se second using namespace std ; //void impossible() //{ // cout << "-1\n" ; // exit(0) ; //} //void answer(vector<int> ans) //{ // for(int i : ans) // cout << i << ' ' ; // exit(0) ; //} //ll skim(int ind) //{ // ll num ; // cout << "? " << ind << '\n' ; // cin >> num ; // return num ; //} void solve(int n, int k, ll a, int s) { vector<int> ans ; ll l = 0, r = n - k + 1 ; vector<pair<ll, int>> w, ls ; while(l + 1 < r) { w.clear() ; ll mid = (l + r) >> 1, sum = 0 ; for(int i = mid ; i < mid + k ; i++) { ll num = skim(i) ; sum += num ; w.push_back({num, i}) ; } if(sum > 2 * a)r = mid ; else { ls = w ; ans.clear() ; for(auto i : w) ans.push_back(i.se) ; l = mid ; } } ll sum = 0 ; for(auto i : ls) sum += i.fi ; if(a <= sum && sum <= 2 * a) answer(ans) ; else impossible() ; } //signed main() //{ // int n, k, a, s ; // cin >> n >> k >> a >> s ; // solve(n, k, a, s) ; // return 0 ; //}
#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...