728x90
8980번: 택배
입력의 첫 줄은 마을 수 N과 트럭의 용량 C가 빈칸을 사이에 두고 주어진다. N은 2이상 2,000이하 정수이고, C는 1이상 10,000이하 정수이다. 다음 줄에, 보내는 박스 정보의 개수 M이 주어진다. M은 1이
www.acmicpc.net
🤔 문제분석
정렬문제로, 정렬을 도착지점 기준으로 정렬하면 된다. 도착지점을 정렬하는 이유는 도착지점이 이른 곳일수록 짐을 빠르게 내릴 수 있기때문이다.
💻 코드
import sys
input = sys.stdin.readline
N, C = map(int, input().split())
M = int(input())
delivery = []
house = [C for _ in range(N+1)]
for _ in range(M):
start, end, cost = map(int, input().split())
delivery.append((start, end, cost))
delivery.sort(key=lambda x:x[1])
ans = 0
for start, end, cost in delivery:
temp = C
for i in range(start, end):
temp = min(temp, house[i])
temp = min(temp, cost)
for i in range(start, end):
house[i] -= temp
ans += temp
print(ans)
🎯 피드백 및 개선사항
도착지점을 기준으로 정렬을 하는것이 이 문제의 포인트이다.
728x90
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 13904번 : 과제 (1) | 2024.02.10 |
---|---|
[백준] 2457번 : 공주님의 정원 (1) | 2024.02.10 |
[백준] 7453번 : 합이 0인 네 정수 (1) | 2024.02.10 |
[백준] 1253번 : 좋다 (1) | 2024.02.10 |
[백준] 2109번 : 순회강연 (1) | 2024.02.05 |