이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "light.h"
#include <vector>
#include<bits/stdc++.h>
using namespace std;
int cnt;
vector<long long>v;
void prepare(){
	cnt = 1;
	v.push_back(1);
}
std::pair<long long, std::vector<long long>> join(long long p){
		cnt+=p;
		vector<long long> vv;
		vv.push_back(1);
		for(auto &it:v)
		it+=p;
		for(long long i=1;1;) {
			long long res=1;
			for(auto it:v) {
				if((2ll*i+p)>=it)
					res=max(res,min(it,2ll*i));
			}
			if(res>=cnt) {
				vv.push_back(cnt);
				break;
			}
			else
				vv.push_back(res);
			i=res;
		}
		v=vv;
		return {p,v};
}
std::pair<long long, std::vector<long long>> leave(long long p){
	cnt-=p;
	vector<long long> vv,vvv;
	vvv=v;
	v.clear();
	for(auto it:vvv) {
		if(it-p>0)
			v.push_back(it);
	}
	vv.push_back(1);
	for(long long i=1;1;) {
		long long res=1;
		for(auto it:v) {
			if((2ll*i+p)>=it)
				res=max(res,min(it,2ll*i));
		}
		if(res>=cnt) {
			vv.push_back(cnt);
			break;
		}
		else
			vv.push_back(res);
		i=res;
	}
	v=vv;
	return {p,v};
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |