제출 #1183296

#제출 시각아이디문제언어결과실행 시간메모리
1183296mertbbmA Light Inconvenience (CEOI23_light)C++20
100 / 100
394 ms436 KiB
#include "light.h" //#include "sample_grader.cpp" #include <bits/stdc++.h> using namespace std; #define int long long #define ld long double #define show(x,y) cout << y << " " << #x << endl; #define show2(x,y,i,j) cout << y << " " << #x << " " << j << " " << #i << endl; #define show3(x,y,i,j,p,q) cout << y << " " << #x << " " << j << " " << #i << " " << q << " " << #p << endl; #define show4(x,y) for(auto it:y) cout << it << " "; cout << #x << endl; typedef pair<int,int>pii; //mt19937_64 rng(chrono::system_clock::now().time_since_epoch().count()); set<int>se; int len=0; void prepare(){ se.insert(1); len=1; } pair<long long,vector<long long>>join(long long p){ len+=p; //redo the structure vector<long long>v; int cur=len; while(cur>0){ //need something auto it=se.lower_bound(cur); int rgt=-1; int lft=-1; if(it!=se.end()) rgt=*it; if(it!=se.begin()){ it--; lft=min(cur,*it+p); } if(lft!=cur) cur=rgt; v.push_back(cur); int diff=len-cur+1; cur=cur-diff-1; } v.push_back(1); sort(v.begin(),v.end()); v.resize(unique(v.begin(),v.end())-v.begin()); //show4(v,v); se.clear(); for(auto it:v) se.insert(it); return {p,v}; } pair<long long,std::vector<long long>>leave(long long p){ len-=p; //redo the structure vector<long long>v; int cur=len; while(cur>0){ //need something auto it=se.lower_bound(cur); int rgt=-1; int lft=-1; if(it!=se.end()) rgt=*it; if(it!=se.begin()){ it--; lft=min(cur,*it+p); } if(lft!=cur) cur=rgt; v.push_back(cur); int diff=len-cur+1; cur=cur-diff-1; } v.push_back(1); sort(v.begin(),v.end()); v.resize(unique(v.begin(),v.end())-v.begin()); //show4(v,v); se.clear(); for(auto it:v) se.insert(it); return {p,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...