#include "light.h"
#include <bits/stdc++.h>
#include <vector>
using namespace std;
#define int long long
vector<int> v;
void prepare(){
v.emplace_back(1);
}
pair<long long, vector<long long>> join(long long p){
int n=v.back()+p;
vector<int> ans; ans.emplace_back(n);
int i=v.size()-1,c=n;
while (c>1) {
int a=(c-1)-(n-c+1);
if (c<=v[i]) {--i; continue;}
else if (a<=v[i]) {
if (i==0) {
ans.emplace_back(v[i]);
c=v[i]; continue;
}
else {
if (a<=v[i-1]) {--i; continue;}
else if (a<=(v[i-1]+p)) {--i; continue;}
else {
ans.emplace_back(v[i]);
c=v[i]; continue;
}
}
}
else {
ans.emplace_back(a);
c=a; continue;
}
} sort(ans.begin(),ans.end()); unique(ans.begin(),ans.end());
v.clear(); v=ans;
return {p,ans};
}
pair<long long, vector<long long>> leave(long long p){
//for (auto&it:v) cout << it << ' '; cout << '\n';
int n=v.back()-p;
vector<int> ans; ans.emplace_back(n);
int i=v.size()-1,c=n;
while (c>1) {
int a=(c-1)-(n-c+1);
if (c<=v[i]) {--i; continue;}
else if (a<=v[i]) {
if (i==0) {
ans.emplace_back(v[i]);
c=v[i]; continue;
}
else {
if (a<=v[i-1]) {--i; continue;}
else if (a<=(v[i-1]+p)) {--i; continue;}
else {
ans.emplace_back(v[i]);
c=v[i]; continue;
}
}
}
else {
ans.emplace_back(a);
c=a; continue;
}
} sort(ans.begin(),ans.end()); unique(ans.begin(),ans.end());
v.clear(); v=ans;
return {p,ans};
}
# | 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... |