본문 바로가기
알고리즘/백준

BOJ : 1246. 온라인 판매 (python)

by newjp 2021. 12. 8.

BOJ 1246 문제 링크

 

1246번: 온라인 판매

첫째 줄에 정수 N(1 ≤ N ≤ 1,000)과 M(1 ≤ M ≤ 1,000)이 입력된다. 둘째 줄부터 M+1번째 줄까지 i+1번째 줄에는 Pi(1 ≤ Pi ≤ 1,000,000)가 입력된다.

www.acmicpc.net

풀이

팔수 있는 개수보다 손님이 더 많을 때는 정렬해서 팔수있는 개수부터 딜을 봄

손님보다 팔 수 있는 개수가 적을 때는 맨 처음부터 봄. 가격이 올라갈수록 살 사람이 적어지니까 for문 돌려서 품

코드

N, M = map(int,input().split())
deal = [int(input()) for _ in range(M)]
idx, res = 0, 0

if N > M: start = -M
else: start = -N
deal.sort()

for i in range(len(deal[start:])):
    p = deal[start:][i]
    many = deal[start:][i] * len(deal[start:][i:])
    if many > res:
        idx, res = p, many
print(idx, res)

 

'알고리즘 > 백준' 카테고리의 다른 글

BOJ : 11866. 요세푸스 문제 0 (python)  (0) 2021.12.11
BOJ : 4889. 안정적인 문자열 (python)  (0) 2021.12.11
BOJ : 10799. 쇠막대기 (python)  (0) 2021.12.10
BOJ : 1026. 보물 (python)  (0) 2021.12.08