문제 해결/BOJ
[백준] 당근 훔쳐 먹기
자잘
2023. 2. 20. 11:21
https://www.acmicpc.net/problem/18234
18234번: 당근 훔쳐 먹기
첫 번째 줄에 N(1 ≤ N ≤ 200,000)과 T(N ≤ T ≤ 100,000,000)가 공백으로 구분되어 주어진다. 오리는 당근의 맛을 충분히 높이기 위해 항상 N이상인 T일 동안 재배한다. 다음 N개의 줄에 걸쳐서 i+1번째
www.acmicpc.net
간단한 정렬문제입니다. 당근들은 매일 pi만큼 맛이 증가하고 시작인 wi가 pi보다 항상 작거나 같기 때문에 pi가 큰 순으로 내림차순 정렬한 다음 t일, t - 1일, t - 2일.. 에 하나씩 먹어주면 가장 최대의 맛을 얻을 수 있습니다.
import sys
# sys.stdin = open("input.txt", "r")
input = sys.stdin.readline
carrots = []
n, t = tuple(map(int, input().split()))
for _ in range(n):
w, p = tuple(map(int, input().split()))
carrots.append((p, w))
# p가 높은순으로 내림차순 정렬
carrots.sort(reverse=True)
ans = 0
for p, w in carrots:
if t == 0:
break
ans += p * (t - 1) + w
t -= 1
print(ans)