제출 #693357

#제출 시각아이디문제언어결과실행 시간메모리
693357BobCompetitiveProgrammingA Difficult(y) Choice (BOI21_books)C++17
0 / 100
401 ms524288 KiB
#include <books.h> #include <iostream> #include <vector> #include <string> #include <algorithm> #include <iomanip> #include <cmath> #include <map> #include <set> #include <unordered_set> #include <cstring> #include <queue> #include <array> using namespace std; using ll=int64_t; #define rep(i,n) for(ll i=0; i<ll(n); ++i) #define vi vector<ll> #define all(x) begin(x), end(x) #define pi pair<ll, ll> // N books, buy K books, difficulty between A and 2A, skims allowed. void solve(int N, int K, long long A, int S){ vector<int> buys; long long left=1, right=N; while(right-left+1 >= K && S >= 2){ long long mid = left + (right-left)/2; if(mid + K > N){ if(left) --left; else break; continue; } double avg_diff = ((double(skim(mid)) + double(skim(mid+K)))/2.0)*K; S-=2; if(A <= avg_diff && avg_diff <= 2*A){ for(ll i=mid; mid<=mid+K; ++i) buys.push_back(i); answer(buys); } if(avg_diff < A) left=mid; else right=mid; } 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...