Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int main()
- {
- int arr[]={0,1,0,2,3,0,2};
- int prefixMaxArr[6];
- int suffixMaxArr[6];
- int maxPrefix;
- int maxSuffix;
- int waterLevel = 0;
- prefixMaxArr[0]=arr[0];
- suffixMaxArr[6]=arr[6];
- maxPrefix=arr[0];
- maxSuffix=arr[6];
- for(int i=1;i<=6;i++)
- {
- if(maxPrefix<arr[i])
- {
- maxPrefix=arr[i];
- prefixMaxArr[i]=maxPrefix;
- }
- else
- {
- prefixMaxArr[i]=maxPrefix;
- }
- int j = 6 - i;
- if(maxSuffix<arr[j])
- {
- maxSuffix=arr[j];
- suffixMaxArr[j]=maxSuffix;
- }
- else
- {
- suffixMaxArr[j]=maxSuffix;
- }
- }
- for(int i=1;i<6;i++)
- {
- int h1 = prefixMaxArr[i-1];
- int h2 = suffixMaxArr[i+1];
- int decid_height = std::min(h1,h2);
- if(decid_height>arr[i])
- {
- int temp = decid_height - arr[i];
- waterLevel = waterLevel + temp;
- }
- }
- cout<<"Water Accumalation in Total: "<<waterLevel<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement