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;
}