Submission #942988

#TimeUsernameProblemLanguageResultExecution timeMemory
942988salmonA Difficult(y) Choice (BOI21_books)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
#include "books.h"

using namespace std;

void solve(int N, int K, long long A, int S) {
    long long int lst[100100];
    long long int sum = 0;

    for(int i = 1; i <= N; i++){
        lst[i] = -1;
    }

    for(int i = 1; i <= K; i++){
        lst[i] = skim(i);
        sum += lst[i];
    }

    impossible();

    if(sum >= A * 2){
        impossible();
    }
    else if(sum >= A){
        vector<int> v;

        for(int i = 1; i <= K; i++){
            v.push_back(i);
        }

        answer(v);
    }
    else{
        vector<int> v;

        int s = 1;
        int e = N + 1;

        while(s != e){
            int m = (s + e) / 2;

            long long int v;

            if(lst[m] == -1) v = lst[m];
            else v = (lst[m] = skim(m));

            if(v >= A){
                e = m;
            }
            else{
                s = m + 1;
            }
        }

        if(s != N + 1){
            long long int tomp;
            if(lst[s] == -1) tomp = skim(s);
            else tomp = lst[s];

            lst[s] = tomp;

            if(sum - lst[K] + tomp <= A * 2){
                for(int i = 1; i <= K - 1; i++){
                    v.push_back(i);
                }
                v.push_back(s);
                answer(v);
                return;
            }
            N = tomp - 1;
        }

        set<int> sat;

        for(int i = 1; i <= K; i++){
            sat.insert(i);
        }

        for(int i = 0; i < K; i++){
            sat.erase(K - i);
            sat.insert(N - i);

            long long int v;

            if(lst[N - i] == -1) v = lst[N - i];
            else v = (lst[N - i] = skim(N - i));

            sum -= lst[K - i];
            sum += v;

            if(A <= sum && sum <= A * 2){
                for(int i : sat){
                    v.push_back(i);
                }
                answer(v);
                return;
            }
        }
        impossible();
    }
}

Compilation message (stderr)

books.cpp: In function 'void solve(int, int, long long int, int)':
books.cpp:93:23: error: request for member 'push_back' in 'v', which is of non-class type 'long long int'
   93 |                     v.push_back(i);
      |                       ^~~~~~~~~
books.cpp:95:24: error: could not convert 'v' from 'long long int' to 'std::vector<int>'
   95 |                 answer(v);
      |                        ^
      |                        |
      |                        long long int