제출 #1365896

#제출 시각아이디문제언어결과실행 시간메모리
1365896lucasdmyA Difficult(y) Choice (BOI21_books)C++20
0 / 100
1 ms1092 KiB
#include <bits/stdc++.h>
#include "books.h"
using namespace std;
void solve(int n, int books, long long int a, int s){
    vector<long long int>v(n+10);
    long long int sum=0;
    vector<int>resp;
    for(int k=1;k<books;k++){
        v[k]=skim(k);
        sum+=v[k];
        resp.push_back(k);
    }
    int p1=books, p2=n;
    while(p1<p2){
        int m=(p1+p2+1)/2;
        v[m]=skim(m);
        if(a<=v[m]+sum and v[m]+sum<=2*a){
            resp.push_back(m);
            answer(resp);
        }
        if(v[m]+sum<a){
            p1=m;
        }else{
            p2=m-1;
        }
    }
    resp.push_back(p1);
    sum+=v[p1];
    for(int k=p1-1;k>=p1-books+1;k--){
        int aux=skim(k);
        int idx=books-(p1-k)-1;
        resp[idx]=k;
        sum+=aux-v[idx];
        if(sum>=a){
            answer(resp);
        }
    }
    impossible();
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…