1859-百万長者計画


問題の説明
リンク
問題を解く
法則性を探る.
  • すべての配列要素の中で最大の1つで、成約金額を購入した後、当日販売します.
  • を売り、indexから最大値を探して1回繰り返します.
  • コード#コード#
    T = int(input())
    for tc in range(1, T+1):
        N = int(input())
        arr = list(map(int, input().split()))
    
        result = s = maxI = 0
        while s < N:
            maxI = s
            for i in range(s, N):
                if arr[maxI] < arr[i]:
                    maxI = i
            for i in range(s, maxI):
                result += arr[maxI] - arr[i]
            s = maxI + 1
        print(f'#{tc} {result}')