提出 #33602416


ソースコード 拡げる

import sys
sys.setrecursionlimit(75000)
###binary search###

n, l = list(map(int,input().split()))
k = int(input())
lines = list(map(int,input().split()))
lines = [0] + lines

def solve(left,right) :
	##print("left: " + str(left) +"right: " + str(right) )
	res = 0
	if right - left == 1 :
		res = left
	else:
		mid = int( (left + right) / 2 )
       	#mid以上の解があるかを検索する
        #言い換えるとmid未満のピースがないということ
		if judge(mid) :
			res = solve(mid,right)
		else : 
			res = solve(left,mid)
	return res

def judge (mid):
	##print("mid : " + str(mid) )
	left = 0
	cut = 0
	cur = 1
	while True:
		if l - lines[left] < mid or cut >= k : 
			break
		if lines[cur] - lines[left] >= mid :
			left = cur 
			cut += 1
		if cut == k and l - lines[left] >= mid :
			return True
		if cur >= n:
			break
		cur += 1
    
	return False
       

print(solve(0,l+1))

提出情報

提出日時
問題 001 - Yokan Party(★4)
ユーザ ay24h
言語 Python (3.8.2)
得点 4
コード長 950 Byte
結果 AC
実行時間 749 ms
メモリ 20364 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 4 / 4
結果
AC × 5
AC × 29
セット名 テストケース
Sample 01_01_sample_picture_01.txt, 01_02_sample_01.txt, 01_02_sample_02.txt, 01_02_sample_03.txt, 01_02_sample_04.txt
All 01_01_sample_picture_01.txt, 01_02_sample_01.txt, 01_02_sample_02.txt, 01_02_sample_03.txt, 01_02_sample_04.txt, 02_fixed_01.txt, 02_fixed_02.txt, 02_fixed_03.txt, 03_k_sensitive_01.txt, 03_k_sensitive_02.txt, 03_k_sensitive_03.txt, 03_k_sensitive_04.txt, 04_random_small_01.txt, 04_random_small_02.txt, 04_random_small_03.txt, 05_random_bias_01.txt, 05_random_bias_02.txt, 05_random_bias_03.txt, 06_random_01.txt, 06_random_02.txt, 06_random_03.txt, 06_random_04.txt, 07_random_max_01.txt, 07_random_max_02.txt, 07_random_max_03.txt, 07_random_max_04.txt, 08_equally_01.txt, 08_equally_02.txt, 09_max_01.txt
ケース名 結果 実行時間 メモリ
01_01_sample_picture_01.txt AC 22 ms 8864 KiB
01_02_sample_01.txt AC 21 ms 8864 KiB
01_02_sample_02.txt AC 17 ms 9040 KiB
01_02_sample_03.txt AC 17 ms 9096 KiB
01_02_sample_04.txt AC 18 ms 8972 KiB
02_fixed_01.txt AC 26 ms 9056 KiB
02_fixed_02.txt AC 673 ms 20184 KiB
02_fixed_03.txt AC 388 ms 20224 KiB
03_k_sensitive_01.txt AC 27 ms 9108 KiB
03_k_sensitive_02.txt AC 17 ms 9052 KiB
03_k_sensitive_03.txt AC 20 ms 8972 KiB
03_k_sensitive_04.txt AC 17 ms 8848 KiB
04_random_small_01.txt AC 19 ms 8872 KiB
04_random_small_02.txt AC 18 ms 8876 KiB
04_random_small_03.txt AC 20 ms 9040 KiB
05_random_bias_01.txt AC 705 ms 20348 KiB
05_random_bias_02.txt AC 496 ms 20364 KiB
05_random_bias_03.txt AC 713 ms 20356 KiB
06_random_01.txt AC 580 ms 19448 KiB
06_random_02.txt AC 426 ms 19888 KiB
06_random_03.txt AC 664 ms 19448 KiB
06_random_04.txt AC 646 ms 19624 KiB
07_random_max_01.txt AC 355 ms 20080 KiB
07_random_max_02.txt AC 689 ms 19752 KiB
07_random_max_03.txt AC 747 ms 19968 KiB
07_random_max_04.txt AC 749 ms 19908 KiB
08_equally_01.txt AC 665 ms 20088 KiB
08_equally_02.txt AC 380 ms 20284 KiB
09_max_01.txt AC 390 ms 20224 KiB