Submission

Status:

PPPPPP-P--

Subtask/Task Score:

70/100

Score: 70

User: spammer_destroyer

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

Language: cpp

Time: 0.003 second

Submitted On: 2025-10-12 21:44:10

//c1_su67_flood
#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n,i,max,max_index,water=0,s;
    cin >> n;
    vector<int> arr(n);
    for(i=0;i<n;i++) {
      cin >> arr[i];
      if(i==0) {max=arr[i];}
      if(arr[i]>max){max=arr[i];max_index=i;}
    }
    s=arr[0];
    //left side to mid
    for(i=0;i<n;i++) {
      if(i==max_index){break;}
      if(arr[i]>s){s=arr[i];continue;} //try arr[i]>=s in the end(it also works)
      water+=(s-arr[i]);
    }
    s=arr[n-1];
    //right side to mid
    for(i=n-1;i>=0;i--) {
      if(i==max_index){break;}
      if(arr[i]>s){s=arr[i];continue;} //try arr[i]>=s in the end(it also works)
      water+=(s-arr[i]);
    }
    cout << water;
    return 0;
}