Python3で解く M-SOLUTIONS プロコンオープン 2020 C - Marks
結構単純。回テストがあって、頭から個ぶんたまったら、累積積(総乗)をずらしながら考える。
この時のポイントは、出と入の大小関係できまるので実際に総乗を計算する必要はないということ。(出と入については後述する。)解説は出と入の割合を計算していたが、大小関係をでも同じこと。
概要
- 回テストを行う。
- 回分テスト結果がたまったら、総乗を計算し始める
- 回目のテストから回目のテストまで、最新のテスト結果を含む過去回ぶんの総乗の結果をとするととの大小の結果は?(全部で個の結果となる)
解くときに考えた内容
これは、単純に個ごとにずれていくだけなので、総乗の結果であるを計算しなくていい。
ずれていくというのは、以下の様なイメージ
との違いは以下である。
とだけでそれ以外の数値は共通である。
なので、このとをそれぞれを出と入と表現していた。
- コードも非常にシンプルである。
コード
n, k = map(int, input().split()) A = [int(x) for x in input().split()] for i in range(n-k): if A[i] < A[i+k]: print('Yes') else: print('No')