제출 #1082055

#제출 시각아이디문제언어결과실행 시간메모리
1082055nikdA Light Inconvenience (CEOI23_light)C++17
100 / 100
478 ms820 KiB
#include <bits/stdc++.h>
#define ll long long
using namespace std;

vector<ll> f;
ll n;

void prepare(){
    n =1;
    f ={1};
}

pair<long long, vector<long long>> join(long long p){
    n+=p;
    vector<ll> sol = {n};
    ll temp = n;
    while(temp>1){
        temp -= min(temp-1, n-temp+2);
        ll i = upper_bound(f.begin(), f.end(), temp)-f.begin()-1;
        if(temp-f[i]>p){
            temp = f[i+1];
        }
        sol.insert(sol.begin(), temp);
    }
    swap(sol, f);
    return {p, f};
}
pair<long long, vector<long long>> leave(long long p){
    n-=p;
    vector<ll> sol = {n};
    ll temp = n;
    while(temp>1){
        temp -= min(temp-1, n-temp+2);
        ll i = upper_bound(f.begin(), f.end(), temp)-f.begin()-1;
        if(temp-f[i]>p){
            temp = f[i+1];
        }
        sol.insert(sol.begin(), temp);
    }
    swap(sol, f);
    return {p, f};
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...