classSolution{public:inttrap(vector<int>& height){
stack<int> st;
st.push(0);int sum =0;for(int i =1; i < height.size(); i++){while(!st.empty()&& height[i]> height[st.top()]){int mid = st.top();
st.pop();if(!st.empty()){int h =min(height[st.top()], height[i])- height[mid];int w = i - st.top()-1;
sum += h * w;}}
st.push(i);}return sum;}};