class Solution {
public:
int trap(int A[], int n) {
int max=0;
for(int i=0;i<n;i++)
{
if(A[i]>A[max])
max=i;
}
int water=0;
int top=0;
for(int i=0;i<max;i++)
{
if(A[i]>top)
top=A[i];
else water+=(top-A[i]);
}
int peak=0;
for(int j=n-1;j>max;j--)
{
if(A[j]>peak)
peak=A[j];
else water+=(peak-A[j]);
}
return water;
}
};
public:
int trap(int A[], int n) {
int max=0;
for(int i=0;i<n;i++)
{
if(A[i]>A[max])
max=i;
}
int water=0;
int top=0;
for(int i=0;i<max;i++)
{
if(A[i]>top)
top=A[i];
else water+=(top-A[i]);
}
int peak=0;
for(int j=n-1;j>max;j--)
{
if(A[j]>peak)
peak=A[j];
else water+=(peak-A[j]);
}
return water;
}
};