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)
'문제 해결 > BOJ' 카테고리의 다른 글
[백준] 감시 (0) | 2023.02.21 |
---|---|
[백준] LCA (0) | 2023.02.21 |
[백준] 정복자 (0) | 2023.02.19 |
[백준] 같이 눈사람 만들래? (0) | 2023.02.18 |
[백준] 🎵니가 싫어 싫어 너무 싫어 싫어 오지 마 내게 찝쩍대지마🎵 - 1 (0) | 2023.02.17 |