提出 #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 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| 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 |