Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: Chawin
Problemset: ปริมาตรน้ำท่วม
Language: c
Time: 0.002 second
Submitted On: 2025-10-10 23:14:14
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int h[n];
for(int i = 0; i < n; i++) scanf("%d", &h[i]);
int left[n], right[n];
left[0] = h[0];
for(int i = 1; i < n; i++) {
left[i] = (h[i] > left[i-1]) ? h[i] : left[i-1];
}
right[n-1] = h[n-1];
for(int i = n-2; i >= 0; i--) {
right[i] = (h[i] > right[i+1]) ? h[i] : right[i+1];
}
int water = 0;
for(int i = 0; i < n; i++) {
int minHeight = (left[i] < right[i]) ? left[i] : right[i];
if(minHeight > h[i]) {
water += (minHeight - h[i]);
}
}
printf("%d", water);
return 0;
}