1 ๋ถ„ ์†Œ์š”

๋ฐฑ์ค€ ์‚ฌ์ดํŠธ ๋งํฌ

๋ฌธ์ œ

N(1 โ‰ค N โ‰ค 100,000)๊ฐœ์˜ ๋กœํ”„๊ฐ€ ์žˆ๋‹ค. ์ด ๋กœํ”„๋ฅผ ์ด์šฉํ•˜์—ฌ ์ด๋Ÿฐ ์ €๋Ÿฐ ๋ฌผ์ฒด๋ฅผ ๋“ค์–ด์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ค. ๊ฐ๊ฐ์˜ ๋กœํ”„๋Š” ๊ทธ ๊ตต๊ธฐ๋‚˜ ๊ธธ์ด๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฌผ์ฒด์˜ ์ค‘๋Ÿ‰์ด ์„œ๋กœ ๋‹ค๋ฅผ ์ˆ˜๋„ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋กœํ”„๋ฅผ ๋ณ‘๋ ฌ๋กœ ์—ฐ๊ฒฐํ•˜๋ฉด ๊ฐ๊ฐ์˜ ๋กœํ”„์— ๊ฑธ๋ฆฌ๋Š” ์ค‘๋Ÿ‰์„ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค. k๊ฐœ์˜ ๋กœํ”„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ค‘๋Ÿ‰์ด w์ธ ๋ฌผ์ฒด๋ฅผ ๋“ค์–ด์˜ฌ๋ฆด ๋•Œ, ๊ฐ๊ฐ์˜ ๋กœํ”„์—๋Š” ๋ชจ๋‘ ๊ณ ๋ฅด๊ฒŒ w/k ๋งŒํผ์˜ ์ค‘๋Ÿ‰์ด ๊ฑธ๋ฆฌ๊ฒŒ ๋œ๋‹ค.

๊ฐ ๋กœํ”„๋“ค์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด ๋กœํ”„๋“ค์„ ์ด์šฉํ•˜์—ฌ ๋“ค์–ด์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋Š” ๋ฌผ์ฒด์˜ ์ตœ๋Œ€ ์ค‘๋Ÿ‰์„ ๊ตฌํ•ด๋‚ด๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋ชจ๋“  ๋กœํ”„๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•  ํ•„์š”๋Š” ์—†์œผ๋ฉฐ, ์ž„์˜๋กœ ๋ช‡ ๊ฐœ์˜ ๋กœํ”„๋ฅผ ๊ณจ๋ผ์„œ ์‚ฌ์šฉํ•ด๋„ ๋œ๋‹ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ์ •์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ ๋กœํ”„๊ฐ€ ๋ฒ„ํ‹ธ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ค‘๋Ÿ‰์ด ์ฃผ์–ด์ง„๋‹ค. ์ด ๊ฐ’์€ 10,000์„ ๋„˜์ง€ ์•Š๋Š” ์ž์—ฐ์ˆ˜์ด๋‹ค.

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ๋‹ต์„ ์ถœ๋ ฅํ•œ๋‹ค.

์˜ˆ์ œ ์ž…๋ ฅ 1

2
10
15

์˜ˆ์ œ ์ถœ๋ ฅ 1

20

๋ฌธ์ œ๋ฅผ ํ’€๋ฉด์„œ ๋ง‰ํ˜”๋˜ ๋ถ€๋ถ„

  • ์ฒ˜์Œ์—๋Š” ๊ฐ€์žฅ ์ž‘์€ ๋ฌด๊ฒŒ๋ฅผ ๋“ค ์ˆ˜ ์žˆ๋Š” ๋กœํ”„๋งŒ์„ ๊ธฐ์ค€์œผ๋กœ ๋ณ‘๋ ฌ ์—ฐ๊ฒฐ ๋กœํ”„ ๊ฐฏ์ˆ˜๋ฅผ ๊ณฑํ–ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ถœ๋ ฅ ์ดˆ๊ณผ, ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋‚˜์™€ ๋ฌด๊ฑฐ์šด ๋ฌด๊ฒŒ์ˆœ์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ์„ ํ•œ ํ›„์— ๋กœํ”„๊ฐ€ ๋“ค ์ˆ˜ ์žˆ๋Š” ์งˆ๋Ÿ‰ * ๋ณ‘๋ ฌ ์—ฐ๊ฒฐ ๋กœํ”„ ๊ฐฏ์ˆ˜๋กœ ๋ฐ”๊พธ์–ด ์ฃผ์—ˆ๋‹ค.

์˜ˆ์‹œ)

$[100, 20, 10] \rightarrow [100 \times 1, 20 \times 2, 10 \times 3]$


์ฝ”๋“œ

ver(1)
import sys
n = int(sys.stdin.readline())
k = []
result = []
for i in range(n):
  k.append(int(sys.stdin.readline()))
k.sort(reverse=True)
for num in range(n):
  result.append(k[num] * (num+1))
print(max(result))
ver(2) - def ์‚ฌ์šฉ
import sys
n = int(sys.stdin.readline())
k = []
result = []

def s(k):
  k.sort(reverse=True)
  for j in range(n):
    k[j] = k[j] * (j + 1)
  return max(k)



for i in range(n):
  k.append(int(sys.stdin.readline()))

print(s(k))

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ