제출 #1154557

#제출 시각아이디문제언어결과실행 시간메모리
1154557i271828A Difficult(y) Choice (BOI21_books)C++20
0 / 100
1 ms420 KiB
#include <bits/stdc++.h>

#include "books.h"
#define ll long long
#define pii pair<int,int>
using namespace std;
//     g++ books_sample.cpp sample_grader.cpp
const int MAX=100005;

int A[MAX];
vector<int> books;
int cur=0;

/*
8 3 20 1000
1 2 3 4 5 6 7 8
*/

void solve(int N, int K, long long T, int S) {
	for (int i=0;i<N;i++){
		A[i]=skim(i+1);
	}
	int l=0;
	while (l<N-K && K*A[l]<T) l++;
	for (int i=l;i<l+K;i++){
		books.push_back(i), cur+=A[i];
	}
	int book_i=0;
	
	while (cur>2*T){
		if (books[book_i]==0){
			book_i++;
		}
		if (book_i==K){
			break;
		}
		cur-=A[books[book_i]];
		books[book_i]--;
		cur+=A[books[book_i]];
	}
	
	if (cur<=2*T && cur>=T){
		for (int i=0;i<books.size();i++){
			books[i]++;
		}
		answer(books);
	}else{
		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...