Submission #1269793

#TimeUsernameProblemLanguageResultExecution timeMemory
1269793AlgorithmWarriorA Difficult(y) Choice (BOI21_books)C++20
100 / 100
1 ms408 KiB
#include <bits/stdc++.h> #include"books.h" using namespace std; long long v[15]; void solve(int N, int K, long long A, int S) { long long sum=0; int i; for(i=1;i<=K;++i) sum+=(v[i]=skim(i)); if(sum>2*A) impossible(); if(A<=sum){ vector<int>v; for(i=1;i<=K;++i) v.push_back(i); answer(v); } sum-=v[K]; /// [) int st=K,dr=N+1; while(dr-st>1){ int mij=(st+dr)/2; if(skim(mij)+sum<=2*A) st=mij; else dr=mij; } sum+=v[K]; for(i=1;i<=K;++i){ sum-=v[K-i+1]; sum+=skim(st-i+1); if(A<=sum){ vector<int>v; int j; for(j=1;j<=K-i;++j) v.push_back(j); for(j=st-i+1;j<=st;++j) v.push_back(j); answer(v); } } 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...