| 
 
 Time Limit: 2 sec / Memory Limit: 1024 MB  
Problem Statement 
In a flower bed, there are?N?flowers, numbered 1,2,......,N. Initially, the heights of all flowers are?0. You are given a sequence?h={h1?,h2?,h3?,......}?as input. You would like to change the height of Flower?k?to hk??for all?k(1≤k≤N), by repeating the following "watering" operation:  
- Specify integers?l?and?r. Increase the height of Flower?x?by?1?for all?x?such that l≤x≤r.
  
Find the minimum number of watering operations required to satisfy the condition.  
Constraints 
- 1≤N≤100
 - 0≤hi?≤100
 - All values in input are integers.
  
 
Input 
Input is given from Standard Input in the following format:  
N
h1? h2? h3? ............ hN?
  
Output 
Print the minimum number of watering operations required to satisfy the condition.  
 
Sample Input 1? 
4
1 2 2 1
  
Sample Output 1? 
2
  
The minimum number of watering operations required is?2. One way to achieve it is:  
- Perform the operation with (l,r)=(1,3).
 - Perform the operation with (l,r)=(2,4).
  
 
Sample Input 2? 
5
3 1 2 3 1
  
Sample Output 2? 
5
  
 
Sample Input 3? 
8
4 23 75 0 23 96 50 100
  
Sample Output 3? 
221
  
Solution: 
#include<bits/stdc++.h>
using namespace std;
int n,h[105],l,r,g[105],cnt;
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++)scanf("%d",&h[i]);
	for(int i=1;i<=n;i++){
		for(int j=i;g[i]<h[i];j++){
			for(int k=i;h[k]!=g[k];k++){
				g[k]++;
			}
			cnt++;
		}
	}
	printf("%d",cnt);
	return 0;
}
  
                
        
        
    
  
 
 |