백준-11501

문제생각

  • 제일 비싼 가격을 찾는다.
  • 그 가격이 오기 전까지는 계속 산다.
  • 그 가격이 온다면 다 팔고 그 다음 가격들에서 최대 가격을 찾는다.
  • 위의 세단계를 반복한다.
import sys
input=sys.stdin.readline

T=int(input())
for _ in range(T):
    n=int(input())
    price=list(map(int, input().split()))

    max_price=max(price)
    ans=0
    if price[0]==max_price:
        print(ans)
    else:
        for i in range(n):
            if price[i] != max_price:
                ans+=(max_price-price[i])
            else:
                if i!=n-1:
                    max_price=max(price[i+1::])
        print(ans)

0개의 댓글