✅ D2
🔖 구현
max_element
함수 활용
max_element
함수로 최대 매매가 계산 ➡️ 첫번째 최대 매매가max_element
로 전체 영역의 최대 값을 찾을 수는 있지만 특정 영역의 최대값을 찾기에는 부적합최대 매매가 - 해당 매매가
를 answer(이익)
에 더하기int
자료형 long long
으로 바꿔보기#include<iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int test_case=1;
int T;
vector<int> cost;
cin>>T;
while(T--) {
int N;
cin >> N;
int k;
for(int i=0;i<N;i++) {
cin >> k;
cost.push_back(k);
}
cout << "#" << test_case << " ";
test_case++;
long long total=0; //이익 총합
int mx=cost[N-1]; //최대 매매가
for(int i=N-2;i>=0;i--) {
if(mx>cost[i]) total+=(mx-cost[i]);
else mx=cost[i];
}
cout << total << endl;
while(!cost.empty()) {
cost.pop_back();
}
}
return 0;
}