Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: angpangSK

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

Language: c

Time: 0.003 second

Submitted On: 2025-09-24 21:29:19

#include <stdio.h>

#define N 10010

int arr[N];
int mxleft[N], mxright[N];

int max(int a, int b) {
    return (a > b) ? a : b;
}

int main() {
    int n;
    scanf("%d", &n);

    for (int i = 1; i <= n; i++) {
        scanf("%d", &arr[i]);
    }

    for (int i = 1; i <= n; i++) {
        mxleft[i] = max(mxleft[i-1], arr[i]);
    }

    for (int i = n; i > 0; i--) {
        mxright[i] = max(mxright[i+1], arr[i]);
    }

    int flood = 0;
    for (int i = 1; i <= n; i++) {
        int x = (mxleft[i] < mxright[i] ? mxleft[i] : mxright[i]) - arr[i];
        if (x > 0) flood += x;
    }

    printf("%d\n", flood);
    return 0;
}