Submission #1032311

#TimeUsernameProblemLanguageResultExecution timeMemory
1032311Marco_EscandonA Difficult(y) Choice (BOI21_books)C++17
0 / 100
8 ms1112 KiB

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const string ny[2] = {"No", "Yes"};
#include"books.h"
void solve(int n, int k, long long a, int S) {
	ll cad[n+1]={ };
	ll v[k+2]={ },ac=0;
	v[k]=n+3;
	for(int i=1; i<=n; i++)
	{
		cad[i]=skim(i);
		if(i<=k)
		{
			v[i-1]=i;
			ac+=cad[i];
		}
	}
	for(int i=k-1; i>-1; i--)
	{
		ll temp=ac-cad[v[i]]+cad[v[i]+1];
		while(temp<2*a&&ac<a&&v[i]<v[i+1]-1&&v[i]<n)
		{
			ac-=cad[v[i]];
			v[i]++;
			ac+=cad[v[i]];
			temp=ac-cad[v[i]]+cad[v[i]+1];
		}
	}
	if(ac<a)
		impossible();
	vector<int> ans;
	for(int i=0; i<k; i++)
		ans.push_back(v[i]);
	answer(ans);
}

#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...