답안 #761249

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
761249 2023-06-19T11:54:03 Z Dan4Life 도서관 (JOI18_library) C++17
0 / 100
31 ms 344 KB
#include <bits/stdc++.h>
#include "library.h"
using namespace std;
#define pb push_back
#define sz(a) (int)a.size()
int n;
vector<pair<int,int>> ed;
vector<int> ans, adj[1500];

void dfs(int s, int p){
	ans.pb(s);
	for(auto u : adj[s])
		if(u!=p) dfs(u,s); 
}

int chk(int l, int r, int q){
	int ans = 0;
	for(auto [a,b] : ed) ans+=a>=l and b<=r;
	return r-l+1-q-ans;
}

void Solve(int N)
{
	n = N; int tot = 0;
	vector<int> M(N,0);
	while(tot<n-1){
		int l = 1, r = n, x = 1;
		while(l<r){
			int mid = (l+r)/2;
			fill(begin(M),begin(M)+mid,1);
			int e = chk(1,mid,Query(M));
			if(e>0) r=mid, x=e;
			else l=mid+1;
			fill(begin(M),begin(M)+mid,0);
		}
		int i = l;
		while(x--){
			tot++; l = 1, r=i-1;
			while(l<r){
				int mid = (l+r+1)/2;
				fill(begin(M)+mid-1,begin(M)+i,1);
				if(chk(mid,i,Query(M))>0) l=mid;
				else r=mid-1;
				fill(begin(M)+mid-1,begin(M)+i,0);
			}
			adj[i].pb(l), adj[l].pb(i), ed.pb({l,i});
		}
	}
	for(int i = 1; i <= N; i++){
		if(sz(adj[i])==1){
			dfs(i,-1), Answer(ans);
			return;
		}
	}
}
# 결과 실행 시간 메모리 Grader output
1 Correct 27 ms 324 KB # of queries: 2263
2 Correct 20 ms 340 KB # of queries: 2309
3 Correct 28 ms 336 KB # of queries: 2398
4 Correct 30 ms 336 KB # of queries: 2452
5 Correct 29 ms 336 KB # of queries: 2432
6 Correct 27 ms 336 KB # of queries: 2441
7 Correct 31 ms 344 KB # of queries: 2433
8 Correct 27 ms 344 KB # of queries: 2317
9 Correct 29 ms 332 KB # of queries: 2400
10 Correct 16 ms 320 KB # of queries: 1395
11 Incorrect 0 ms 216 KB Wrong Answer [7]
12 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 27 ms 324 KB # of queries: 2263
2 Correct 20 ms 340 KB # of queries: 2309
3 Correct 28 ms 336 KB # of queries: 2398
4 Correct 30 ms 336 KB # of queries: 2452
5 Correct 29 ms 336 KB # of queries: 2432
6 Correct 27 ms 336 KB # of queries: 2441
7 Correct 31 ms 344 KB # of queries: 2433
8 Correct 27 ms 344 KB # of queries: 2317
9 Correct 29 ms 332 KB # of queries: 2400
10 Correct 16 ms 320 KB # of queries: 1395
11 Incorrect 0 ms 216 KB Wrong Answer [7]
12 Halted 0 ms 0 KB -