Submission #225333

# Submission time Handle Problem Language Result Execution time Memory
225333 2020-04-20T09:28:26 Z kshitij_sodani Library (JOI18_library) C++17
0 / 100
2000 ms 504 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){
		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;
}*/
# Verdict Execution time Memory Grader output
1 Correct 60 ms 256 KB # of queries: 2939
2 Correct 48 ms 256 KB # of queries: 2901
3 Correct 52 ms 256 KB # of queries: 3084
4 Correct 37 ms 384 KB # of queries: 3038
5 Correct 55 ms 256 KB # of queries: 3062
6 Correct 54 ms 256 KB # of queries: 3074
7 Correct 61 ms 384 KB # of queries: 3025
8 Correct 44 ms 256 KB # of queries: 2936
9 Correct 49 ms 256 KB # of queries: 3079
10 Execution timed out 3090 ms 256 KB Time limit exceeded
11 Correct 4 ms 384 KB # of queries: 0
12 Correct 5 ms 256 KB # of queries: 1
13 Correct 5 ms 384 KB # of queries: 5
14 Correct 4 ms 256 KB # of queries: 9
15 Correct 5 ms 384 KB # of queries: 104
16 Correct 7 ms 384 KB # of queries: 252
# Verdict Execution time Memory Grader output
1 Correct 60 ms 256 KB # of queries: 2939
2 Correct 48 ms 256 KB # of queries: 2901
3 Correct 52 ms 256 KB # of queries: 3084
4 Correct 37 ms 384 KB # of queries: 3038
5 Correct 55 ms 256 KB # of queries: 3062
6 Correct 54 ms 256 KB # of queries: 3074
7 Correct 61 ms 384 KB # of queries: 3025
8 Correct 44 ms 256 KB # of queries: 2936
9 Correct 49 ms 256 KB # of queries: 3079
10 Execution timed out 3090 ms 256 KB Time limit exceeded
11 Correct 4 ms 384 KB # of queries: 0
12 Correct 5 ms 256 KB # of queries: 1
13 Correct 5 ms 384 KB # of queries: 5
14 Correct 4 ms 256 KB # of queries: 9
15 Correct 5 ms 384 KB # of queries: 104
16 Correct 7 ms 384 KB # of queries: 252
17 Execution timed out 3049 ms 256 KB Time limit exceeded
18 Correct 492 ms 376 KB # of queries: 19485
19 Correct 577 ms 504 KB # of queries: 19763
20 Correct 503 ms 504 KB # of queries: 18573
21 Execution timed out 3020 ms 256 KB Time limit exceeded
22 Execution timed out 3011 ms 384 KB Time limit exceeded
23 Correct 529 ms 504 KB # of queries: 19748
24 Execution timed out 3091 ms 256 KB Time limit exceeded
25 Execution timed out 3014 ms 256 KB Time limit exceeded
26 Execution timed out 3095 ms 384 KB Time limit exceeded
27 Correct 174 ms 376 KB # of queries: 9064
28 Correct 279 ms 408 KB # of queries: 11067
29 Correct 298 ms 504 KB # of queries: 11060
30 Correct 327 ms 504 KB # of queries: 11067