t_큰수의법칙_92
| source | github.com/ndb796/python-for-coding-test |
| type | 📌 개발노트 |
| topics | 600-알고리즘 & 코딩테스트 602 그리디 |
| types | 문제풀이 |
문제
배열이 있을때 합이 가장 클 때의 결과를 출력
입력 : N M K
M: M번 더 할 수 있음
K : K번 연속으로 수를 사용할 수 있음
답
import sys
k,n,m = map(int, sys.stdin.readline().split())
arr = list(map(int, sys.stdin.readline().split()))
arr.sort(reverse=True)
sum = 0
flag = True
while n > 0:
if flag:
if n<m:
m=n
sum += arr[0]*m
n -= m
flag=False
else:
sum += arr[1]
n -= 1
flag= True
print(sum)
걍 눈속임을 준문제 사실상 0과 1 번째 밖에 안 필요함.
예외 없음. 길이가 2이상이고 연속해서 사용하는횟수가 제한된거지