5D.4W-이진탐색

Dazz_heyDay ·2021년 7월 29일
1

Python) Algorithm_study

목록 보기
27/39

✏️문제[예산-2512]

https://www.acmicpc.net/problem/2512

import sys
input = sys.stdin.readline
n = int(input())
nint = list(map(int, input().split()))
m = int(input())
L, H = 0, max(nint)
while L <= H:
    mid = (L + H) // 2
    num = 0
    for i in nint:
        if i >= Mid: num += Mid
        else: num += i
    if num <= m: L = Mid + 1
    else: H = Mid - 1
print(H)

✏️문제[어두운 굴다리-17266]

https://www.acmicpc.net/problem/17266

def bs(lights, m):
    if lights[1]-lights[0] > m:
        return 0
    if lights[-1]-lights[-2] > m:
        return 0
    for i in range(1, len(lights)-2):
        if (lights[i+1]-lights[i])/2 > m:
            return 0
    return 1

n, m = int(input()), int(input())
lights = [0] + list(map(int, input().split())) + [n]
s, e = 0, n
res = 0
while s <= e:
    m = (s+e)//2
    if bs(lights, M):
        e = M-1
        res = M
    else:
        s = M+1
print(res)

✏️문제[숫자구슬- 2613]

https://www.acmicpc.net/problem/2613

시간이 너무 많이 걸려서 오늘은 여기까지..😓
profile
Why.Not.Now

2개의 댓글

comment-user-thumbnail
2021년 7월 30일

안녕하세요, 김덕우입니다! 이진 탐색 저도 은근 시간이 많이 걸리더라고요 이해하는데에도 시간이 많이 걸리는,, 오늘도 수고하셨습니다!!

답글 달기
comment-user-thumbnail
2021년 7월 31일

안녕하세요 😊입니다.. 이진탐색 정말 시간도 오래 걸리고 어렵게 느껴지네요,, 굴다리 풀이가 저랑 달라서 또 많이 배우고 가네요~ 수고하셨습니다!

답글 달기