Submission #799610

#TimeUsernameProblemLanguageResultExecution timeMemory
799610laurasofiaA Difficult(y) Choice (BOI21_books)C++14
0 / 100
1 ms976 KiB
#include <bits/stdc++.h> #include "books.h" #define vv vector<long long> #define FOR(i, a, n) for (int i = a; i < n; i++) #define mkp make_pair #define INF 1000000003 using namespace std; // // --- 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, long long A, int S) { // TODO implement this function vector<long long> v(N); int y=A/K; int l=1; int r=N; while (l+1<r){ int m=(l+r)>>1; long long k=skim(m); if (k>y)r=m; else l=m; } v.resize(K+1); long long sum=0; FOR(i,0,K){ if (l+i>N){ impossible(); return; } v[i]=skim(l+i); sum+=v[i]; } vector<int> ans; if (sum>=A && sum<=2*A){ FOR(i,0,K)ans.push_back(l+i); answer(ans); return; } if (l!=1){ sum+=skim(l-1); sum-=v[K-1]; l--; if (sum>=A && sum<=2*A){ FOR(i,0,K)ans.push_back(l+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...