Submission #969977

# Submission time Handle Problem Language Result Execution time Memory
969977 2024-04-26T02:57:43 Z LCJLY Park (JOI17_park) C++14
10 / 100
91 ms 2824 KB
#include "park.h"

//code
//Answer(a,b)
//Ask(a,b,Place)
#include <bits/stdc++.h>
using namespace std;

#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<long long,long long>pii;
typedef pair<int,pii>pi2;

int m=0;
set<pii>edge;
bool memo[1405][1405];
void dnc(int l, int r){
	if(memo[l][r]) return;
	memo[l][r]=true;
	int lft=0;
	int rgt=m-1;
	int mid;
	int best=rgt+1;
	
	while(lft<=rgt){
		mid=(lft+rgt)/2;
		int v[m];
		memset(v,0,sizeof(v));
		for(int x=0;x<=mid;x++){
			v[x]=1;
		}
		v[l]=1;
		v[r]=1;
		//show4(v,v);
		//show2(l,l,r,r);
		bool amos=Ask(min(l,r),max(l,r),v);
		if(amos){
			rgt=mid-1;
		}
		else{
			best=mid;
			lft=mid+1;
		}
	}
	
	if(best==m){
		edge.insert({min(l,r),max(l,r)});
	}
	else{
		//show(best,best+1);
		dnc(l,best+1);
		dnc(best+1,r);
	}
}

void Detect(int t, int n) {
	//show2(t,t,n,n);
	m=n;
	for(int x=1;x<n;x++){
		dnc(0,n-1);
	}	
	//dnc(0,n-1);
	
	for(auto &it:edge){
		//show2(it.first,it.first,it.second,it.second);
		Answer(it.first,it.second);
	}
}
//code
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 348 KB Wrong Answer[6]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 22 ms 2824 KB Output is correct
2 Correct 91 ms 2536 KB Output is correct
3 Correct 62 ms 2644 KB Output is correct
4 Correct 26 ms 2576 KB Output is correct
5 Correct 23 ms 2392 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 348 KB Wrong Answer[6]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 344 KB Wrong Answer[6]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 600 KB Wrong Answer[6]
2 Halted 0 ms 0 KB -