CodeQUEEN 2023 予選 (AtCoder Beginner Contest 308)の解説記事です。
ABC308 A – New Scheme
問題
問題文の要約は以下の通りです。
問題の要約
8個の整数 \(S_{1}\), \(S_{2}\), \(\cdots\), \(S_{8}\) を与えたとき、以下の3つの条件がすべて満たされているならば Yes
を、そうでないならば No
を出力せよ。
・\(S_{1} \le S_{2} \le \cdots \le S_{8}\)
・\(S_{1}\), \(S_{2}\), \(\cdots\), \(S_{8}\) はすべて100以上675以下である。
・\(S_{1}\), \(S_{2}\), \(\cdots\), \(S_{8}\) はすべて25の倍数である。
制約
・\(1 \le S_{i} \le 1000\)
・入力は全て整数
入力
\(S_{1}\) \(S_{2}\) \(\cdots\) \(S_{8}\)
出力
答えを出力せよ。
解法
3つの条件を順番に判定する。
解説
まず入力 \(S\) をlist
として受け取ります。
S=list(map(int,input().split()))
\(S\) の大小を比べるために \(S_{i-1}\) の値を格納しておくための変数を用意します。
\(1 \le S_{i}\) なので初期値は0
としておきます。
tmp=0
3つの条件をすべて満足したときは、tmp
に \(S_{i}\) を格納し、どれか一つでも満たさないときはNo
を出力し終了します。
全ての \(S\) が条件を満たしたとき、Yes
を出力します。
for i in range(8):
if tmp<=S[i] and 100<=S[i]<=675 and S[i]%25==0:
tmp=S[i]
else:
print('No')
exit()
print('Yes')
解答
S=list(map(int,input().split()))
tmp=0
for i in range(8):
if tmp<=S[i] and 100<=S[i]<=675 and S[i]%25==0:
tmp=S[i]
else:
print('No')
exit()
print('Yes')