| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1354086 | lizi14 | A Difficult(y) Choice (BOI21_books) | C++20 | 0 ms | 684 KiB |
#include <bits/stdc++.h>
#include "books.h"
using namespace std;
void solve(int N, int K, long long A, int S) {
int fi=skim(1);
int bol=skim(N);
if(fi>2*A){
impossible;
return;
}
int l=1,r=N;
int ans=-1;
while(l<=r){
int m=(l+r)/2;
int bati=skim(m);
if(bati>=A){
ans=m;
r=m-1;
}
else{
l=m+1;
}
}
if(ans==-1){
ans=N;
int x[N+1];
fill(x,x+N+1,0);
x[0]=fi;
x[N]=bol;
for(int i=2; i<=K; i++){
int a=skim(i);
x[i]=a;
}
for(int i=ans-1; i>=ans-K; i--){
int a=skim(i);
x[i]=a;
}
int sum=0;
for(int i=1; i<=K; i++){
sum+=x[i];
}
if(sum>=A && sum<=2*A){
vector<int>anss;
for(int i=1; i<=K; i++){
anss.push_back(i);
}
answer(anss);
return;
}
vector<int>g;
for(int i=1; i<=K; i++){
sum+=abs(x[i]-x[ans-K-i-1]);
g.push_back(ans-K-i+1);
if(sum>=A && sum<=2*A){
vector<int>ja=g;
for(int j=i+1; j<=K; j++){
ja.push_back(j);
}
answer(ja);
return;
}
}
}
else{
int x[N+1];
fill(x,x+N+1,0);
x[0]=fi;
x[N]=bol;
for(int i=2; i<=K; i++){
int a=skim(i);
x[i]=a;
}
for(int i=ans-1; i>=ans-K; i--){
int a=skim(i);
x[i]=a;
}
int sum=0;
for(int i=1; i<=K; i++){
sum+=x[i];
}
if(sum>=A && sum<=2*A){
vector<int>anss;
for(int i=1; i<=K; i++){
anss.push_back(i);
}
answer(anss);
return;
}
vector<int>g;
for(int i=1; i<=K; i++){
sum+=abs(x[i]-x[ans-K-i-1]);
g.push_back(ans-K-i+1);
if(sum>=A && sum<=2*A){
vector<int>ja=g;
for(int j=i+1; j<=K; j++){
ja.push_back(j);
}
answer(ja);
return;
}
}
int gag=0;
vector<int>o;
gag+=x[ans];
o.push_back(ans);
for(int i=1; i<=K-1; i++){
gag+=x[i];
o.push_back(i);
}
if(gag>=A && gag<=2*A){
answer(o);
return;
}
}
}
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
