Submission #1282083

#TimeUsernameProblemLanguageResultExecution timeMemory
1282083user736482A Light Inconvenience (CEOI23_light)C++20
100 / 100
200 ms432 KiB
#include "light.h" #pragma GCC optimize("O3") #include <bits/stdc++.h> using namespace std; #define ll long long #define ld long double #define pb push_back #define ff first #define ss second #define MOD 998244353LL #define INF 1000000001LL #define POT (1LL<<20) #define INFL 1000000000000000099LL #define pii pair<ll,ll> #define ppi pair<pii,ll> #define pip pair<ll,pii> #define ppp pair<pii,pii> #define vi vector<ll> #define vii vector<pii> #define al(x) x.begin(),x.end() #define rev(x) reverse(al(x)) #define X 18 template<typename T, typename U> pair<T, U> operator+(const pair<T, U>& a, const pair<T, U>& b) { return {a.first + b.first, a.second + b.second}; } template<typename T, typename U> pair<T, U> operator-(const pair<T, U>& a, const pair<T, U>& b) { return {a.first - b.first, a.second - b.second}; } template<typename T, typename U> ostream& operator<<(ostream& os, const pair<T, U>& p) { os<<"{"<<p.ff<<", "<<p.ss<<"}"; return os; } template<typename T> ostream& operator<<(ostream& os, const vector<T>& v) { os << "{"; for (size_t i = 0; i < v.size(); ++i) { if (i) os << ", "; os << v[i]; } os << "}"; return os; } vi v; ll n=1; void prepare(){ v.pb(1); } void upd_v(ll a){ while(v.back()>n)v.pop_back(); vi an; an.pb(n); ll pop=n; while((n-pop+1)*2<n){ ll x=n-(n-pop+1)*2; while(v.size()>1 && v[v.size()-2]+a>=x)v.pop_back(); an.pb(max(x,v.back())); pop=an.back(); } if(an.back()!=1) an.pb(1); rev(an); v=an; } pair<ll,vi> join(ll x){ n+=x; upd_v(x); return {x,v}; } pair<ll,vi> leave(ll x){ n-=x; upd_v(x); return {x,v}; }
#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...