公式
A - Maximal Value 解説
by
A - Maximal Value 解説
by
sounansya
AtCoder をはじめたばかりで何をしたらよいか分からない方は、まずは practice contest の問題 A「Welcome to AtCoder」を解いてみてください。基本的な入出力の方法が載っています。
また、プログラミングコンテストの問題に慣れていない方は、AtCoder Beginners Selection の問題をいくつか解いてみることをおすすめします。
条件を満たす \(i\) の個数を for 文を用いて求めれば良いです。
答えは以下のアルゴリズムで求めることができます:
- \(\text{ans}=0\) とする。
- \(i=1,2,\ldots,N-2\) の順に以下を行う:
- \(A_{i}<A_{i+1}>A_{i+2}\) を満たす場合、\(\text{ans}\) に \(1\) を足す。
- \(\text{ans}\) を出力する。
n = int(input())
a = list(map(int, input().split()))
ans = 0
for i in range(n - 2):
ans += a[i] < a[i + 1] > a[i + 2]
print(ans)
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> a(n);
for (int i = 0; i < n; i++) {
cin >> a[i];
}
int ans = 0;
for (int i = 0; i < n - 2; i++) {
if (a[i] < a[i + 1] && a[i + 1] > a[i + 2]) {
ans++;
}
}
cout << ans << endl;
return 0;
}
投稿日時:
最終更新:
