Time Limit: 2 sec / Memory Limit: 1024 MB
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:
Find the minimum number of watering operations required to satisfy the condition.
Input is given from Standard Input in the following format:
N h1 h2 h3 ............ hN
Print the minimum number of watering operations required to satisfy the condition.
4 1 2 2 1
2
The minimum number of watering operations required is 2. One way to achieve it is:
5 3 1 2 3 1
5
8 4 23 75 0 23 96 50 100
221
#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;
}