Submission #1119299

#TimeUsernameProblemLanguageResultExecution timeMemory
1119299groshiA Light Inconvenience (CEOI23_light)C++17
100 / 100
890 ms592 KiB
#include<bits/stdc++.h> #include "light.h" #define int long long using namespace std; int n=1; vector<int> teraz; void prepare() { teraz.push_back(1); } void zmien(int p) { vector<int> nowe; nowe.push_back(n); int jestem=n; while(jestem>1) { jestem-=(n-jestem+2); if(jestem<=0) jestem=1; int gdzie=upper_bound(teraz.begin(),teraz.end(),jestem)-teraz.begin(); gdzie--; if(jestem-teraz[gdzie]>p) jestem=teraz[gdzie+1]; nowe.push_back(jestem); } reverse(nowe.begin(),nowe.end()); swap(nowe,teraz); } pair<int,vector<int> > join(int p) { n+=p; zmien(p); return {p,teraz}; } pair<int,vector<int> > leave(int p) { n-=p; zmien(p); return {p,teraz}; } /*int32_t main() { prepare(); while(true) { int typ,ile; cin>>typ>>ile; pair<int,vector<int> > mam; if(typ==0) mam=join(ile); else mam=leave(ile); cout<<mam.first<<" "; for(int i=0;i<mam.second.size();i++) cout<<mam.second[i]<<" "; cout<<"\n"; } }*/
#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...