제출 #1290662

#제출 시각아이디문제언어결과실행 시간메모리
1290662ey00Xylophone (JOI18_xylophone)C++20
0 / 100
1 ms332 KiB
#include <bits/stdc++.h>
#include "xylophone.h"
using namespace std;

int res[5005];

void dfs(int l,int r,int mn,int mx){
	if(l>r) return;
	if(l==r){
		res[l]=mn;
		answer(l,mn);
		return;
	}
	int diff=query(l,r);
	if(diff==r-l){
		for(int i=l;i<=r;i++){
			res[i]=mn+(i-l);
			answer(i,res[i]);
		}
		return;
	}
	int mid=(l+r)/2;
	int left_diff=query(l,mid);
	dfs(l,mid,mn,mn+left_diff);
	dfs(mid+1,r,mn+left_diff+1,mx);
}

void solve(int N){
	dfs(1,N,1,N);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...