본문 바로가기
백준

백준 6236 용돈관리 (python)

by 콩순이냉장고 2025. 1. 1.

문제URL : https://www.acmicpc.net/problem/6236

 

문제 접근법 : 

인출할 금액 정해놓고 여러날에 사용가능하다면 문제가없지만

돈을 다시집어넣고 그 인출할금액을 하루에 딱한번 꺼내서 사용할수없는것도 생각한다면

그금액은 n일동안 인출금액으로 생각하면 안됩니다.

충분히 크게 잡으면서 최소한으로 해야하니

매개변수 탐색으로 

문제를 해결해야합니다

 

소스코드:

from bisect import bisect_left
n,m=map(int,input().split())
v = [int(input()) for i in range(n)]

l,r =0,int(1e15)
res = int(1e15)
while l<=r:
    mid = (l+r)//2
    cnt = 0
    money = 0
    flag = 1
    for i in range(n):
        if money>=v[i]:
            money-=v[i]
        else:
            money = mid
            cnt+=1
            if money <v[i]:
                flag=0
                break
            money-=v[i]

    if cnt<=m and flag:
        res = min(res,mid)
        r=mid-1
    else:
        l=mid+1
print(res)

 

궁금한점 혹은 모르는점 어떤 질무니든 댓글은 언제나 환영입니다.

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

백준 18290 NM과 K (1)  (0) 2025.01.05
백준 1662 압축(python)  (0) 2025.01.01
백준 15573 채굴 (c++)  (1) 2024.12.20
백준 2637 장난감 조립(python)  (2) 2024.12.18
백준 4779 칸토어집합(python)  (0) 2024.12.17