티스토리 뷰

n ,m = map(int, input().split())
l = list(map(int, input().split()))

start, end = 1, max(l)
ans = 0 
while start <= end:
    mid = (start+end)// 2

    log = 0

    for i in l:
        if i >= mid:
            log += i - mid 

    if log >= m:
        ans = mid  
        start = mid + 1
    else:
        end = mid - 1
print(ans)

이분탐색을 이용하여 푸는 문제였다 

아직 미숙해서 print(end)보다는 ans 로 따로 값에 대한 변수를 정해놓는게 

더 직관적인것 같다

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/08   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
글 보관함