답안 #225334

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
225334 2020-04-20T09:29:05 Z kshitij_sodani 도서관 (JOI18_library) C++17
0 / 100
1016 ms 632 KB
#include <iostream>
#include <bits/stdc++.h>
#include "library.h"
using namespace std;

#define pb push_back
typedef long long llo;
#define a first
#define b second
int n;
vector<int> aa;
vector<int> bb;

/*void Answer(vector<int> cc){
	for(auto j:cc)
	{	cout<<j<<" ";
	}
	cout<<endl;
}
int Query(vector<int> cc){
	for(auto j:cc){
		cout<<j<<" ";
	}
	cout<<endl;
	int xx;
	cin>>xx;
	return xx;
}*/
int ll;
void solve(int ind,int l,int r){
	//cout<<l<<" "<<r<<endl;
	if(l==r){
		if(aa[l]==0){
			ll=-1;
			return ;
		}

	/*	if(ind==l){
			ll=-1;
			while(true){
				continue;
			}
		}
		else{*/
			for(int i=0;i<n;i++){
				if((ind==i or i==l)){

					bb[i]=1;
				}
				else{
					bb[i]=0;
				}
			}
			int yy=Query(bb);
			if(yy==1){
				aa[l]=0;
				ll=l;
			}
			else{

				ll=-1;

			}
		//}
	}
	else{
		int mid=(l+r)/2;
		int co=0;
		for(int i=0;i<n;i++){
			bb[i]=0;
		}
		for(int i=l;i<=mid;i++){
			if(aa[i]==2){
				bb[i]=1;
				co+=1;
			}
		}
		if(co==0){
			solve(ind,mid+1,r);

		}
		else{
			bb[ind]=1;
			int yy=Query(bb);
			bb[ind]=0;
			int zz=Query(bb);
			if(yy==zz){
				solve(ind,l,mid);
			}
			else{
				solve(ind,mid+1,r);
			}
		}
	}
}
void Solve(int nn){
	n=nn;
	for(int i=0;i<n;i++){
		aa.pb(2);
		bb.pb(0);
	}
	int x=0;
	deque<int> ans;
	ans.push_back(0);
	int st=0;
	int kk=0;
	int le=n-1;
	aa[0]=0;
	int cco=0;

	while(le and cco<3*n){
		cco+=1;
		int y=x;
		ll=-2;

		solve(x,0,n-1);
		if(ll==y){
			while(true){
				continue;
			}
		}

		if(ll!=-1){
			le-=1;
		}
		if(ll==-2){
			while(true){
				continue;
			}
		}
		x=ll;

		if(x==-1){
			x=0;
			st=1;
			kk+=1;
		}
		else{
			if(st==0){
				ans.push_back(x);
			}
			else{
				ans.push_front(x);
			}
		}
		aa[x]=0;
		aa[y]=0;
	}
	vector<int> fin;
	for(int i=0;i<n;i++){
		int x=ans.front();
		ans.pop_front();
		fin.pb(x+1);
	}
	Answer(fin);
}
/*int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	Solve(3);


	return 0;
}*/
# 결과 실행 시간 메모리 Grader output
1 Correct 39 ms 256 KB # of queries: 2939
2 Correct 55 ms 256 KB # of queries: 2901
3 Correct 51 ms 256 KB # of queries: 3084
4 Correct 63 ms 256 KB # of queries: 3038
5 Correct 63 ms 256 KB # of queries: 3062
6 Correct 65 ms 256 KB # of queries: 3074
7 Correct 62 ms 256 KB # of queries: 3025
8 Correct 50 ms 384 KB # of queries: 2936
9 Correct 47 ms 256 KB # of queries: 3079
10 Incorrect 90 ms 384 KB Wrong Answer [5]
11 Correct 4 ms 384 KB # of queries: 0
12 Correct 5 ms 384 KB # of queries: 1
13 Correct 6 ms 384 KB # of queries: 5
14 Correct 5 ms 384 KB # of queries: 9
15 Correct 8 ms 256 KB # of queries: 104
16 Correct 8 ms 256 KB # of queries: 252
# 결과 실행 시간 메모리 Grader output
1 Correct 39 ms 256 KB # of queries: 2939
2 Correct 55 ms 256 KB # of queries: 2901
3 Correct 51 ms 256 KB # of queries: 3084
4 Correct 63 ms 256 KB # of queries: 3038
5 Correct 63 ms 256 KB # of queries: 3062
6 Correct 65 ms 256 KB # of queries: 3074
7 Correct 62 ms 256 KB # of queries: 3025
8 Correct 50 ms 384 KB # of queries: 2936
9 Correct 47 ms 256 KB # of queries: 3079
10 Incorrect 90 ms 384 KB Wrong Answer [5]
11 Correct 4 ms 384 KB # of queries: 0
12 Correct 5 ms 384 KB # of queries: 1
13 Correct 6 ms 384 KB # of queries: 5
14 Correct 5 ms 384 KB # of queries: 9
15 Correct 8 ms 256 KB # of queries: 104
16 Correct 8 ms 256 KB # of queries: 252
17 Runtime error 1016 ms 608 KB Execution killed with signal 11 (could be triggered by violating memory limits)
18 Correct 668 ms 484 KB # of queries: 19485
19 Correct 669 ms 632 KB # of queries: 19763
20 Correct 499 ms 508 KB # of queries: 18573
21 Runtime error 868 ms 632 KB Execution killed with signal 11 (could be triggered by violating memory limits)
22 Runtime error 940 ms 504 KB Execution killed with signal 11 (could be triggered by violating memory limits)
23 Correct 605 ms 384 KB # of queries: 19748
24 Runtime error 473 ms 504 KB Execution killed with signal 11 (could be triggered by violating memory limits)
25 Runtime error 907 ms 512 KB Execution killed with signal 11 (could be triggered by violating memory limits)
26 Runtime error 856 ms 512 KB Execution killed with signal 11 (could be triggered by violating memory limits)
27 Correct 212 ms 368 KB # of queries: 9064
28 Correct 429 ms 384 KB # of queries: 11067
29 Correct 339 ms 376 KB # of queries: 11060
30 Correct 293 ms 392 KB # of queries: 11067