이번 문제는 그리디 알고리즘을 통해 해결하였다. 우선 택배 정보를 정렬해야 했는데, 처음에는 시작점과 끝점을 기준으로 오름차순 정렬하였다. 그러나 이렇게 정렬할 경우, 그 사이에 시작점과 끝점이 존재하는 택배들을 놓치게 되므로, 정렬을 끝점 기준으로만 오름차순 정렬하였다. 그리고 정렬된 택배 정보를 순회하며 가능한 택배량을 싣고 결과값에 더하는 방식으로 접근하여 해결하였다.
n, c=map(int, input().split())
m=int(input())
infos=[list(map(int, input().split())) for _ in range(m)]
infos.sort(key=lambda x:x[1])
box=[c for _ in range(n+1)]
answer=0
for s, e, b in infos:
tmp=c
for i in range(s, e):
tmp=min(tmp, box[i])
tmp=min(tmp, b)
for i in range(s, e):
box[i]-=tmp
answer+=tmp
print(answer)