Skip to content

Latest commit

 

History

History
37 lines (31 loc) · 980 Bytes

File metadata and controls

37 lines (31 loc) · 980 Bytes

백준 16112번 5차 전직

16112


코드 설명

  • 아케인 스톤의 개수에 조심하면서 경험치를 구해야 한다. -> 아케인 스톤의 개수와 활성화시킬 수 있는 k를 구분해서 계산할 것!
  • 스톤의 개수가 k일때 가장 경험치를 많이 주는 퀘스트를 수행해야 경험치의 합이 최대가 될 수 있다.

소스코드

  • 메모리 : 65852 KB
  • 시간 : 328 ms
import sys

n, k = map(int, sys.stdin.readline().split())
maple = list(map(int, sys.stdin.readline().split()))
stone = 0
maple.sort()
start, end = 0, len(maple)-1
score = 0
while start <= end:
	if stone == 0:
		stone, start = 1, 1
	elif stone == k:
		score += maple[end]*stone
		end -= 1
	else:
		score += maple[start]*stone
		start += 1
		stone += 1
print(score)