Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: Nay-O
Problemset: ปริมาตรน้ำท่วม
Language: cpp
Time: 0.002 second
Submitted On: 2025-10-21 10:35:33
#include<bits/stdc++.h>
using namespace std;
int main(){
ios_base::sync_with_stdio(false); cin.tie(NULL);
int n; cin >> n;
int h[n];
for(int i = 0; i < n; i++){
cin >> h[i];
}
int ans[n];
memset(ans, 0, 4*n);
for(int i = 0; i < n; i++){
int l = i+1;
for(int j = i+1; j < n; j++){
if(h[j] >= h[i]){
break;
}
l++;
}
if(l != n){
for(int j = i + 1; j < l; j++){
ans[j] = max(ans[j], h[i]-h[j]);
}
}
l = i - 1;
for(int j = i-1; j >= 0; j--){
if(h[j] >= h[i]){
break;
}
l--;
}
if(l < 0){
continue;
}
for(int j = i - 1; j > l; j--){
ans[j] = max(ans[j], h[i]-h[j]);
}
}
int sum = 0;
for(int i = 0; i < n; i++){
sum += ans[i];
}
cout << sum;
return 0;
}