Submission #697773

#TimeUsernameProblemLanguageResultExecution timeMemory
697773Sandarach151A Difficult(y) Choice (BOI21_books)C++17
0 / 100
9 ms1104 KiB
#include <bits/stdc++.h>
#include "books.h"

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) {
    long long arr[n];
    vector<int> ans;
    for(int i=0; i<n; i++){
		arr[i] = skim(i+1);
	}
	long long cur = 0;
	for(int i=0; i<k-2; i++){
		cur+=arr[i];
		ans.push_back(i+1);
	}
	int pos1 = k-2;
	int pos2 = n-1;
	while((arr[pos1]+arr[pos2]+cur)<a || 2*a<(arr[pos1]+arr[pos2]+cur)){
		if((cur+arr[pos1]+arr[pos2])<a){
			pos1++;
		}
		else{
			pos2--;
		}
		if(pos1>=pos2){
			break;
		}
	}
	if(pos1<pos2 && (arr[pos1]+arr[pos2]+cur)>=a && 2*a>=(arr[pos1]+arr[pos2]+cur)){
		ans.push_back(pos1+1);
		ans.push_back(pos2+1);
		answer(ans);
		return;
	}	
	impossible();
	return;
}
#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...