個の整数の最大値を求めるだけの問題!
問題概要
個の整数
の最大値を求めよ。
制約
考えたこと
まず、 個の整数
は配列として受け取るのがよいだろう。C++ であれば、
vector<int>
型のデータとして受け取ることができる。
さて、これらの値の最大値を求めるための変数 res
を用意しておこう。この res
という名前の「チャンピオン」に対して、 個の「挑戦者」である整数
が挑んでいき、「チャンピオンよりも大きな値をもつ挑戦者が現れれば、チャンピオンの値を更新する」というようにすればよい。具体的には、
for
文を用いて、次のように実装できる。
for (int i = 0; i < N; i++) { res = max(res, a[i]); }
最後に、変数 res
の初期値について考えよう。res
は、最初は極力小さな値にしておくのが望ましい。具体的には、整数 の値よりも小さく設定しておきたい。ここでは
res = 0
としておこう。
コード
#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 res = 0; for (int i = 0; i < N; i++) res = max(res, a[i]); cout << res << endl; }