Submission #418498

#TimeUsernameProblemLanguageResultExecution timeMemory
418498AdOjis485A Difficult(y) Choice (BOI21_books)C++14
Compilation error
0 ms0 KiB
#include <vector> #include <iostream> #include <algorithm> #include "books.h" #define int long long 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. // vector<long long> vals; long long skim2(int x) { while(x < 0 || x >= vals.size()){} if(vals[x] == 0) vals[x] = skim(x + 1); return vals[x]; } void solve(int N, int K, long long A, int S) { vals.assign(N, 0ll); vector<int> lowest(K); int losum = 0; for(int i = 0; i < K; i ++) { lowest[i] = skim2(i); losum += lowest[i]; } vector<int> ansvec(K); for(int i = 0; i < K; i ++) ansvec[i] = i + 1; if(losum > 2 * A) impossible(); else if(losum >= A) answer(ansvec); int lo = 0, hi = N; while(lo + 1 < hi) { int m = (lo + hi) / 2; if(skim2(m) < A) lo = m; else hi = m; } if(hi < N && losum - lowest[K - 1] + skim2(hi) <= 2 * A) { ansvec[K - 1] = hi + 1; answer(ansvec); } hi --; if(hi < K) impossible(); int j = K - 1; while(losum < A && j >= 0) { losum += skim2(hi) - lowest[j]; ansvec[j] = hi + 1; j --; hi --; } if(losum < A) impossible(); else { while(losum > 2 * A) {} answer(ansvec); } }

Compilation message (stderr)

books.cpp: In function 'long long int skim2(long long int)':
books.cpp:24:22: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |     while(x < 0 || x >= vals.size()){}
      |                    ~~^~~~~~~~~~~~~~
books.cpp: In function 'void solve(long long int, long long int, long long int, long long int)':
books.cpp:45:32: error: could not convert 'ansvec' from 'vector<long long int>' to 'vector<int>'
   45 |     else if(losum >= A) answer(ansvec);
      |                                ^~~~~~
      |                                |
      |                                vector<long long int>
books.cpp:58:16: error: could not convert 'ansvec' from 'vector<long long int>' to 'vector<int>'
   58 |         answer(ansvec);
      |                ^~~~~~
      |                |
      |                vector<long long int>
books.cpp:76:16: error: could not convert 'ansvec' from 'vector<long long int>' to 'vector<int>'
   76 |         answer(ansvec);
      |                ^~~~~~
      |                |
      |                vector<long long int>