[Python] 알고리즘/Silver

[9414] 프로그래밍 대회 전용 부지 (Python)

-Becca- 2021. 10. 27. 13:48

[문제]

https://www.acmicpc.net/problem/9414

 

9414번: 프로그래밍 대회 전용 부지

첫째 줄에 테스트 케이스의 개수 T (1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 땅값 Li가 한 줄에 하나씩 주어지며, 0은 테스트 케이스의 마지막을 나타낸다. 각 테스트 케이스마다 상근이가 구

www.acmicpc.net


알고리즘 분류는 수학, 정렬, 사칙연산 입니다.

땅값은 매년 오르므로, 땅을 최소의 가격으로 구매하기 위해선 비싼 땅을 먼저 구매해야 합니다.

돈이 부족한 경우도 조건을 걸어주어야 합니다.


[코드]

import sys

T = int(sys.stdin.readline())
for i in range(T):
    li = list()
    res = 0
    money = 5 * (10 ** 6)
    while True:
        ground = int(sys.stdin.readline())
        if ground == 0:
            break
        li.append(ground)

    li.sort(reverse=True)
    for j in range(len(li)):
        res += 2 * (li[j] ** (j + 1))

    if money < res:
        print("Too expensive")
    else:
        print(res)