๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ
 

2217๋ฒˆ: ๋กœํ”„

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

www.acmicpc.net

 

 

๋ฌธ์ œ ์„ค๋ช…

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

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

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

 


์ž…๋ ฅ

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

 


์ถœ๋ ฅ

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

 


์˜ˆ์ œ ์ž…์ถœ๋ ฅ

 


ํ’€์ด ์ „๋žต

ํ•œ ๊ฐœ์˜ ๋กœํ”„๊ฐ€ ๋‹ค๋ฅธ ๋กœํ”„๋“ค๋ณด๋‹ค ์••๋„์ ์œผ๋กœ ๋งŽ์ด ๋“ค ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋ณ‘๋ ฌ ๊ตฌ์กฐ๊ฐ€ ๋” ๋น„ํšจ์œจ์ ์ผ ๊ฒ๋‹ˆ๋‹ค.

๋ณ‘๋ ฌ๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ ๋“ค์—ˆ์„ ๋•Œ๋Š” ์ œ์ผ ์ ๊ฒŒ ๋“ค ์ˆ˜ ์žˆ๋Š” ๋กœํ”„ X ๋กœํ”„ ๊ฐœ์ˆ˜๊ฐ€ ๋“ค์–ด์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋Š” ๋ฌผ์ฒด์˜ ์ตœ๋Œ€ ์ค‘๋Ÿ‰์ด๊ฒ ์ฃ .

์ฆ‰, ๋กœํ”„ ๊ฐœ์ˆ˜๋ฅผ ์ค„์—ฌ๊ฐ€๋ฉฐ ๊ฐ€์žฅ ๋งŽ์ด ๋“ค ์ˆ˜ ์žˆ๋Š” ์ค‘๋Ÿ‰์ด ๋ช‡์ธ์ง€๋ฅผ ์ฐพ์•„๋‚ด๋ฉด ๋ฉ๋‹ˆ๋‹ค.

  • ๋กœํ”„๊ฐ€ ๋“ค ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ค‘๋Ÿ‰์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•œ๋‹ค.
  • ๋กœํ”„ ๊ฐœ์ˆ˜๋ฅผ ์ค„์—ฌ๊ฐ€๋ฉฐ ๊ฐ€์žฅ ๋งŽ์ด ๋“ค ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ค‘๋Ÿ‰์„ ์ฐพ๋Š”๋‹ค.

์‹œ๋‚˜๋ฆฌ์˜ค

  • ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ๋œ ๋กœํ”„ 4๊ฐœ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋ฆ„ ๋กœํ”„ ๊ฐ™์ด ์ƒ๊ฒผ์ฃ ?...

  • ๋กœํ”„ 4๊ฐœ๋ฅผ ๋‹ค ์‚ฌ์šฉํ•˜์—ฌ ๋“ค์—ˆ์„ ๋•Œ ์ตœ๋Œ€๋กœ ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฌด๊ฒŒ๋Š” 15 X 4 = 60 ์ž…๋‹ˆ๋‹ค. 

์ด์ œ ๋ณด๋‹ˆ ๊ณฑ์ฐฝ๊ฐ™๋„ค์š”.

  • ๋กœํ”„ 3๊ฐœ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋“ค์—ˆ์„ ๋•Œ ์ตœ๋Œ€๋กœ ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฌด๊ฒŒ๋Š” 30 X 3 = 90 ์ž…๋‹ˆ๋‹ค.

  • ๋กœํ”„ 2๊ฐœ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ตœ๋Œ€๋กœ ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฌด๊ฒŒ๋Š” 38 X 2 = 76 ์ด์ฃ .

  • ๋งˆ์ง€๋ง‰์œผ๋กœ ํ•œ ๊ฐœ๋งŒ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ ์ตœ๋Œ€๋กœ ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฌด๊ฒŒ๋Š” 46์ž…๋‹ˆ๋‹ค.

 

๋”ฐ๋ผ์„œ ๊ฐ€์žฅ ๋งŽ์ด ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฌด๊ฒŒ๋Š” ๋กœํ”„ 3๊ฐœ๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ์ธ 90 ์ด๋ผ๋Š” ๊ฒƒ์„ ๊ตฌํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

 


์†Œ์Šค ์ฝ”๋“œ ๋ฐ ๊ฒฐ๊ณผ

n = int(input())
ropes = []

for _ in range(n):
    ropes.append(int(input()))

ropes.sort()
totalRopeCount = len(ropes)
maxWeight = ropes[0] * totalRopeCount

for i in range(1, n):
    usingRopeCount = totalRopeCount - i
    weight = ropes[i] * usingRopeCount
    
    if maxWeight < weight:
        maxWeight = weight

print(maxWeight)

 

728x90
๋ฐ˜์‘ํ˜•