#include "light.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define all(a) a.begin(), a.end()
#define dbg(a) cerr << __LINE__ << ": " << "[" << #a << " = " << a << "]\n"
ll n;
vector<ll> f;
void prepare() {
n = 1;
f.clear();
}
std::pair<long long, std::vector<long long>> join(long long p) {
ll t = p;
n += p;
set <ll> s;
ll x = n, cur = 1;
while (1) {
s.insert(x);
if (x == 1) break;
x = max(1LL, x - (1LL << cur));
++cur;
}
f.clear();
for (auto i : s) {
f.push_back(i);
}
return {t, f};
}
std::pair<long long, std::vector<long long>> leave(long long p) {
int t = p;
n -= p;
set <ll> s;
ll x = n, cur = 1;
while (1) {
s.insert(x);
if (x == 1) break;
x = max(1LL, x - (1LL << cur));
++cur;
}
set<ll> s2;
// dbg(p);
for (auto i : f) {
if (i <= n) {
auto it = s.upper_bound(i);
s2.insert(i);
while (it != s.end() && *it - i <= t) {
s2.insert(*it);
++it;
}
if (i + t <= n) s2.insert(i + t);
}
}
f.clear();
for (auto i : s2) {
f.push_back(i);
}
return {t, 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... |