This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |