[AtCoder] ABC 176 C – Step
問題
方針
\( i \) 番目までで一番高い身長を \( h_i \) とすると、\( i + 1 \) 番目の人に必要な踏み台の高さは、
\[ \max(0, h_i – A_{i + 1})\]
となります。\( h_0 = A_0 \) として、全探索します。
コード
#include <bits/stdc++.h> using namespace std; typedef long long ll; int main() { int N; cin >> N; ll A[N]; for (int i = 0; i < N; i++) { cin >> A[i]; } ll ans = 0; ll h = A[0]; for (int i = 1; i < N; i++) { h = max(h, A[i]); ans += max(0ll, h - A[i]); } cout << ans << "\n"; return 0; }
ディスカッション
コメント一覧
まだ、コメントがありません