Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: chayuth20
Problemset: ปริมาตรน้ำท่วม
Language: cpp
Time: 0.004 second
Submitted On: 2026-10-15 14:53:40
#include <iostream>
#include <vector>
#include <string>
#include <cctype>
#include <deque>
using namespace std;
int main(){
int numx;
cin >> numx;
deque<int> vec;
for(int i = 0; i < numx; i++){
int temp;
cin >> temp;
vec.push_back(temp);
}
long long answer = 0;
bool check1 = false;
int left = 0, right = 0;
for(int i = 0; i < numx; i++){
if(vec[i] >= vec[left]){
right = i;
check1 = true;
}
if(check1){
for(int j = left+1; j < right; j++){
answer += vec[left]-vec[j];
}
left = right;
check1 = false;
}
}
bool check11 = false;
int left1 = 0, right1 = numx-1;
for(int i = numx-1; i >= left; i--){
if(vec[i] >= vec[right1]){
left1 = i;
check11 = true;
}
if(check11){
for(int j = right1-1; j > left1; j--){
answer += vec[right1]-vec[j];
}
right1 = left1;
check11 = false;
}
}
cout << answer;
return 0;
}