제출 #943063

#제출 시각아이디문제언어결과실행 시간메모리
943063teacupA Difficult(y) Choice (BOI21_books)C++14
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>

#include "books.h"

using namespace std;
#define ii pair<int,int>
#define vi vector<int>
typedef vector<ii> vii;
//
// --- 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) {
    // TODO implement this function
    vector<long long> V(N+5), ans;
    long long sum=0;
    for (int i=1; i<=K; i++){
		V[i]=skim(i);
		sum+=V[i];
		ans.push_back(V[i]);
	}
	if (sum>2*A){
		impossible();
	}else if (sum>=A){
		//answer!!
		answer(ans);
	}else{
		//sum<A
		ans.clear();
		//binary search from K+1 to N
		int L=K+1, R=N, M;
		while (L < R){
			M = (L+R)/2;
			if (V[M]!=0) V[M] = skim(M);
			if (V[M] > A){
				R = M;
			}else{
				L = M+1;
			}
		}
		
		if (L <= K) impossible();
		if (L <= N){
			if (sum-V[K]+V[L] <= 2*A) {
				ans[K-1]=L;
				answer(ans);
			}
		}
	}
}

컴파일 시 표준 에러 (stderr) 메시지

books.cpp: In function 'void solve(int, int, long long int, int)':
books.cpp:32:10: error: could not convert 'ans' from 'vector<long long int>' to 'vector<int>'
   32 |   answer(ans);
      |          ^~~
      |          |
      |          vector<long long int>
books.cpp:52:12: error: could not convert 'ans' from 'vector<long long int>' to 'vector<int>'
   52 |     answer(ans);
      |            ^~~
      |            |
      |            vector<long long int>