Submission #1334340

#TimeUsernameProblemLanguageResultExecution timeMemory
1334340yc11A Difficult(y) Choice (BOI21_books)C++20
Compilation error
0 ms0 KiB
#include<bits/stdc++.h>
#include "books.h"
#define int long long
using namespace std;
void solve(int N, int K, long long A, int S) {
    long long a = 1;
    long long b = N;
    vector<int> n1;
    vector<int> pre;
    n1.assign(N,-1);
    while (a<b){
        long long x = (a+b)/2;
        n1[x-1] = skim(x);
        if (n1[x-1]>=A) b = x;
        else a = x+1;
    }

    int ans;
    if (n1[b-1]==-1) n1[b-1] = skim(b);
    ans = n1[b-1];

    for (int i = 0;i<K-1;i++){

        if (n1[i]==-1) n1[i] = skim(i+1);

        ans = ans+n1[i];
    
    }

    if (ans<2*A and ans>A){
        vector<int> a;
        a.push_back(b);
        for (int i = 0;i<K-1;i++) a.push_back(i+1);
        answer(a);
        return;
    }

    int b1 = b;
    ans = ans-n1[b-1];



    if (n1[K-1]==-1) n1[K-1] = skim(K);
    ans = ans+n1[K-1];
    int c = 0;
    b--;

    while (ans<A){
        if (n1[b]==-1) n1[b]=skim(b+1);
        ans = ans-n1[c]+n1[b];
   
        c++;
        b--;
        if (c==K) break;
    }
    if (ans>=A and 2*A>=ans){
        vector<int> a;
        for (int i = c;i<K;i++) a.push_back(i+1);
        for (int i = b+1;i<b1;i++) a.push_back(i+1);
        answer(a);
        return;

    }
    impossible();





}

Compilation message (stderr)

books.cpp: In function 'void solve(long long int, long long int, long long int, long long int)':
books.cpp:34:16: error: could not convert 'a' from 'vector<long long int>' to 'vector<int>'
   34 |         answer(a);
      |                ^
      |                |
      |                vector<long long int>
books.cpp:60:16: error: could not convert 'a' from 'vector<long long int>' to 'vector<int>'
   60 |         answer(a);
      |                ^
      |                |
      |                vector<long long int>