Submission #1054196

#TimeUsernameProblemLanguageResultExecution timeMemory
1054196gagik_2007A Light Inconvenience (CEOI23_light)C++17
100 / 100
324 ms852 KiB
#include "light.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; typedef pair<int, int> pii; typedef pair<ll, ll> pll; #define ff first #define ss second ll ttt; const ll INF=1e18; const ll MOD=1e9+7; const ll N=5007; ll n,m,k; vector<ll>d; const ll MULT=1; void prepare() { d.push_back(1); n=1; } void taza(ll add){ vector<ll>new_d; new_d.push_back(1); while(new_d.back()!=n){ ll vl=new_d.back()+(n-new_d.back())*MULT/(MULT+1); if(n-new_d.back()==1)vl++; auto it=upper_bound(d.begin(),d.end(),vl); it--; vl=min(vl,(*it)+add); new_d.push_back(vl); } d=new_d; } pair<ll, vector<ll>> join(ll p) { n+=p; taza(MULT*p); return {MULT*p,d}; } pair<ll, vector<ll>> leave(ll p) { n-=p; taza(MULT*p); return {MULT*p,d}; }
#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...