#include "light.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int cnt;
ll N = 1;
const ll alpha = 5;
vector<ll> active = {1};
void prepare(){
cnt = 0;
}
void complete(ll p) {
vector<ll> nw = {N};
ll x = N;
while (x > 1) {
x -= min(x - 1, N + 1 - (x - 1));
int i = upper_bound(begin(active), end(active), x) - begin(active) - 1;
if (x - active[i] > p) {
x = active[i + 1];
}
nw.push_back(x);
}
nw.push_back(1);
active = nw;
}
std::pair<long long, std::vector<long long>> join(long long p){
ll T = alpha * p;
N += p;
complete(T);
sort(begin(active), end(active));
active.erase(unique(begin(active), end(active)), end(active));
return {T, active};
}
std::pair<long long, std::vector<long long>> leave(long long p){
ll T = alpha * p;
N -= p;
complete(T);
sort(begin(active), end(active));
active.erase(unique(begin(active), end(active)), end(active));
return {T, active};
}
# | 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... |