class Solution {
public:
int trap(vector<int>& height) {
int n = height.size();
int maxleft[n];
int maxright[n];
maxleft[0] = height[0];
maxright[n-1] = height[n-1];
for(int i=1;i<n;i++)
{
maxleft[i] = max(height[i],maxleft[i-1]);
}
for(int i=n-2;i>=0;i--)
{
maxright[i] = max(height[i],maxright[i+1]) ;
}
int water[n];
for(int i=0;i<n;i++)
{
water[i] = min(maxleft[i],maxright[i])-height[i];
}
int sum=0;
for(int i=0;i<n;i++)
{
sum +=water[i];
}
return sum;
}
};