백준 17266. 어두운 굴다리

2024. 4. 8. 17:46·백준

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

 

17266번: 어두운 굴다리

인하대학교 후문 뒤쪽에는 어두운 굴다리가 있다. 겁쟁이 상빈이는 길이 조금이라도 어둡다면 가지 않는다. 따라서 굴다리로 가면 최단거리로 집까지 갈수 있지만, 굴다리는 어둡기 때문에 빙

www.acmicpc.net

import sys
input = sys.stdin.readline
n = int(input()) # 굴다리의 길이
m = int(input()) # 가로등의 개수
L = list(map(int,input().split())) # 설치 가능한 가로등의 위치

start, end = 0, n  # 이분 탐색을 위한 시작점과 끝점
ans = n  # 최소 높이의 최대값으로 초기화

while start <= end:
    mid = (start + end) // 2  # 중간값을 이용하여 가로등 높이를 결정
    if L[0] - mid <= 0 and L[-1] + mid >= n: # 굴다리 양 끝을 비추는지 체크
        isCovered = True
    else:
        isCovered = False

    for i in range(1, m):
        if L[i - 1] + mid < L[i] - mid:  # 가로등 사이의 어두운 구간이 있는지 체크
            isCovered = False
            break

    if isCovered:  # 전체 굴다리를 비출 수 있다면, 높이를 줄여본다
        ans = min(ans, mid)
        end = mid - 1
    else:  # 비출 수 없다면, 높이를 높여야 한다
        start = mid + 1

print(ans)
저작자표시 (새창열림)

'백준' 카테고리의 다른 글

백준 20920. 영단어 암기는 괴로워  (0) 2024.04.14
백준 13305. 주유소  (0) 2024.04.13
백준 11098. 첼시를 도와줘!  (0) 2024.04.05
백준 2869. 달팽이는 올라가고 싶다  (0) 2024.04.05
백준 9017. 크로스 컨트리  (0) 2024.03.31
'백준' 카테고리의 다른 글
  • 백준 20920. 영단어 암기는 괴로워
  • 백준 13305. 주유소
  • 백준 11098. 첼시를 도와줘!
  • 백준 2869. 달팽이는 올라가고 싶다
버그잡는고양이발
버그잡는고양이발
주니어 개발자입니다!
  • 버그잡는고양이발
    지극히평범한개발블로그
    버그잡는고양이발
  • 전체
    오늘
    어제
    • 분류 전체보기 (383) N
      • React (16)
      • Next.js (5)
      • Javascript (5)
      • Typescript (4)
      • Node.js (2)
      • Cs (16)
      • 트러블 슈팅&리팩토링 (6) N
      • Html (1)
      • Css (3)
      • Django (0)
      • vue (0)
      • Java (2)
      • Python (0)
      • 독서 (1)
      • 기타 (3)
      • 백준 (192)
      • swea (31)
      • 프로그래머스 (30)
      • 이코테 (4)
      • 99클럽 코테 스터디 (30)
      • ssafy (31)
      • IT기사 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 인기 글

  • 태그

    Til
    개발자취업
    코딩테스트준비
    99클럽
    항해99
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
버그잡는고양이발
백준 17266. 어두운 굴다리
상단으로

티스토리툴바