#include <iostream>
#include <algorithm>
#include <vector>
int main()
{
int T = 0;
std::cin >> T;
while (T--)
{
int iCount = 0;
std::cin >> iCount;
std::vector<int> vec(iCount, 0);
for (int i = 0; i < iCount; ++i)
{
std::cin >> vec[i];
}
int iMax = 0;
long long lAns = 0;
for (int i = vec.size() -1; i >= 0; --i)
{
iMax = std::max(iMax, vec[i]);
lAns += (long long)(iMax - vec[i]);
}
std::cout << lAns << "\n";
}
return 0;
}
백에서부터 계산
양이 많아서 O(N)으로만 해야함, O(N의 2)만 해도 시간 초과 나온다...
'오늘의 알고리즘' 카테고리의 다른 글
[C++] 백준 2668 숫자고르기 (0) | 2022.06.21 |
---|---|
[C++] 백준 2304 창고 다각형 (0) | 2022.06.20 |
[C++] 백준 4179 불! (0) | 2022.06.18 |
[C++] 백준 3687 성냥개비 (0) | 2022.06.17 |
[C++] 백준 19637 IF문 좀 대신 써줘 (0) | 2022.06.17 |