Atcoder 花の水やり 問題

・凄くいい問題でした。ありがとうございます。

 

■ 問題文

問題文

花壇に

本の花が咲いており、それぞれ と番号が振られています。最初、全ての花の高さは です。 数列 が入力として与えられます。以下の「水やり」操作を繰り返すことで、すべての に対して花 の高さを

にしたいです。

  • 整数

を指定する。 を満たすすべての に対して、花 の高さを

  • 高くする。

条件を満たすための最小の「水やり」操作の回数を求めてください。

制約

 

 

  • 入力はすべて整数である。

入力

入力は以下の形式で標準入力から与えられます。


 
 
 
 

出力

条件を満たすような最小の「水やり」操作の回数を出力してください。


入力例 1

Copy
4
1 2 2 1

出力例 1

Copy
2

ーーーーーーー

・コード

 

import java.util.Scanner;
import java.util.*;

public class Main {
public static void main(String args) {

Scanner sc = new Scanner(System.in);
 
int n;
n = sc.nextInt();

int h = new int [n];

for(int i = 0; i < n; i++) {
h[i] = sc.nextInt();
}

for(int ii : h) {
System.out.println(ii);
}

int ans = 0;
int out = 0;
for(int i = 0; i < h.length; i++) {

if(out >= h[i]) {
out = h[i];
} else {
ans += h[i] - out;
out = h[i];
}
}

}
}