PS/백준

[Python] 1246번 온라인 판매

s_omi 2024. 7. 23. 09:47
728x90
반응형
SMALL

✏️ 문제

 

문제 파악

조건은 다음과 같다.

  1. 팔 수 있는 계란의 수
    • 고객의 수 < 달걀의 수, 팔 수 있는 계란의 수 = 고객의 수
    • 고객의 수 > 달걀의 수, 팔 수 있는 계란의 수 = 달걀의 수
  2. 수익
    • 책정한 가격 <= 고객이 제안한 가격, 수익 += 책정한 가격 * 1
    • 고객이 제안한 가격이 경래가 책정한 가격보다 커도 책정한 가격으로 팔 수 밖에 없다.
  3. 고객들에게 달걀을 딱 하나만 팔 수 있다.

 

알고리즘

  • 그리디 알고리즘
  • 정렬

 

코드

import sys
input = sys.stdin.readline

n,m = map(int, input().split())
cus = sorted([int(input()) for _ in range(m)], reverse=True)

price = 0
revenue = 0
for i in range(min(n, m)):
  if revenue <= cus[i] * (i+1):
    price = cus[i]
    revenue = cus[i] * (i+1)
  
print(price, revenue)

 

 

 

 

 

 

728x90
반응형
LIST