본문 바로가기
문제 해결/BOJ

[백준] 당근 훔쳐 먹기

by 자잘 2023. 2. 20.

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