728x90
반응형
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
문제는 다음링크 참조
처음에 vector 사이즈를 int로 했더니 제한시간 초과를 해서 long long 사이즈로 변경해 문제를 풀었다.
문제해설
맨 뒤에 값을 MAX로 설정하고 값이 MAX보다 크면 MAX값 갱신 아니면 차를 구해 SUM에 더해주는 방식으로 풀었다.
#include <iostream>
#include <algorithm>
#include <climits>
#include <vector>
using namespace std;
int main(void) {
int t;
cin >> t;
for (int i = 0; i < t; i++)
{
int n;
cin >> n;
vector<long long> arr(n);
for (int j = 0; j < n; j++)
{
cin >> arr[j];
}
long long sum = 0;
long long max_ = arr[n - 1];
for (int z = n - 2; z >= 0; z--)
{
if (arr[z] > max_)
{
max_ = arr[z];
}
else
{
sum += max_ - arr[z];
}
}
cout << "#" << i + 1 << " " << sum << endl;
}
return 0;
}
728x90
반응형
'C++' 카테고리의 다른 글
[C++ 삼성 SW D3] 20934. 방울 마술 (2) | 2024.11.29 |
---|---|
[코드트리 객체 정렬] 클래스를 이용한 객체 정렬 (0) | 2024.09.13 |
[알고리즘] RMS, kurtosis (1) | 2024.01.03 |
[C++] 메모리누수(memory leak) 검사하는 방법 (0) | 2023.11.08 |
[프로그래머스-코딩 기초 트레이닝 C++] 특별한 이차원 배열 2 (0) | 2023.07.20 |