-문제: https://www.acmicpc.net/problem/8980

어려운 문제. 아직 풀이 이해가 안가서 나중에 다시 봐야할 것 같다

 

-정답풀이:

n,c=map(int,input().split())
m=int(input())
nums=[]
temps=[c]*n

for _ in range(m):
    nums.append(list(map(int,input().split())))
    
nums=sorted(nums,key=lambda x: x[1]) #도착하는 순서대로 정렬

ans=0
for i in range(len(nums)):
    minNum=c+1
    for j in range(nums[i][0],nums[i][1]): 
        if temps[j]<minNum : 
            minNum=temps[j]
    t=min(minNum,nums[i][2]) 
    ans+=t
    for j in range(nums[i][0],nums[i][1]):
        temps[j]-=t
print(ans)

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

[백준] 10775번: 공항(다시)  (0) 2022.02.11
[백준] 2810번: 컵홀더  (0) 2022.02.11
[백준] 11501번: 주식  (0) 2022.02.10
[백준] 2828번: 사과담기 게임  (0) 2022.02.10
[백준] 2012번: 등수 매기기  (0) 2022.02.09

+ Recent posts