Atcoder 花の水やり 問題
・凄くいい問題でした。ありがとうございます。
■ 問題文
問題文
花壇に
本の花が咲いており、それぞれ と番号が振られています。最初、全ての花の高さは です。 数列 が入力として与えられます。以下の「水やり」操作を繰り返すことで、すべての に対して花 の高さを
にしたいです。
- 整数
を指定する。 を満たすすべての に対して、花 の高さを
- 高くする。
条件を満たすための最小の「水やり」操作の回数を求めてください。
制約
- 入力はすべて整数である。
入力
入力は以下の形式で標準入力から与えられます。
出力
条件を満たすような最小の「水やり」操作の回数を出力してください。
入力例 1
Copy
4 1 2 2 1
出力例 1
Copy
2
ーーーーーーー
・コード
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];
}
}
}
}