Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: qweqwe

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

Language: cpp

Time: 0.002 second

Submitted On: 2025-10-13 13:10:57

#include <bits/stdc++.h>
#define speed cin.tie(0)->sync_with_stdio(0)
#define ll long long
#define pii pair<int,int>
using namespace std;

int main(){
	speed;
	int n;cin >> n;
	vector<int> walls(n);
	for (int i=0;i<n;i++){
		cin >> walls[i];
	}
	int l=0,r=n-1;
	int cnt=0,mxr=walls[r],mxl=walls[l];
	while (l<r){
		//cout << mxr << " " << mxl << " " << cnt << "\n";
		if (walls[l]>walls[r]){
			if (r>0 && walls[r-1]>=mxr){
				mxr=walls[r-1];
			}else{
				cnt+=mxr-walls[r-1];
			}r--;
		}else{
			if (l<n-1 && walls[l+1]>=mxl){
				mxl=walls[l+1];
			}else{
				cnt+=mxl-walls[l+1];
			}l++;
		}
	}cout << cnt;
	return 0;
}