Submission

Status:
Compilation Error

Score: 0

User: Dormon

Problemset: ปริมาตรน้ำท่วม

Language: cpp

Time: 0.000 second

Submitted On: 2024-11-17 12:37:45

#include <iostream>
#include <cstring>
#include <vector>
#include <algorithm>
#include <functional>

#define debug(...) Debug(#__VA_ARGS__, __VA_ARGS__)
using namespace std;

template<typename T>
typename std::enable_if<std::is_integral<T>::value>::type
Debug(const char* name, T value) {
    std::cout << name << " : " << value << '\n';
}

template<typename T, typename... Args>
typename std::enable_if<std::is_integral<T>::value>::type
Debug(const char* names, T value, Args... args) {
    const char* comma = strchr(names, ',');
    std::cout.write(names, comma - names) << " : " << value << " | ";
    Debug(comma + 1, args...);
}

void solve(){
    int n; cin >> n;
    vector<int64_t> a(n+2, 0), mxl(n+10, 0), mxr(n+10, 0);
    for (int i = 1;i <= n;i++){
        cin >> a[i];
        mxl[i] = max(mxl[i-1], a[i]);
    }

    for (int i = n;i >= 1;i--)
        mxr[i] = max(mxr[i+1], a[i]);

    int64_t ans = 0ll;
    for (int i = 1;i <= n;i++)
        ans += max(0ll, min(mxl[i-1], mxr[i+1]) - a[i]);
    cout << ans << '\n';
}

int main()
{
    ios_base::sync_with_stdio(0); cin.tie(0);
    int q = 1; //cin >> q;
    while (q--){
        solve();
    }
}