Submission #1213631

#TimeUsernameProblemLanguageResultExecution timeMemory
1213631FatonimA Light Inconvenience (CEOI23_light)C++20
0 / 100
218 ms416 KiB
#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 = 5 * 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 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...