演習課題「日別訪問者数の最大平均区間」

あなたは、とあるウェブサイトを管理していました。
ある連続したk日間、このウェブサイトでキャンペーンを行ったのですが、いつからいつまでの期間に行ったかを忘れてしまいました。

幸い、ウェブサイトを運営していた全n日分のアクセスログが残っており、1日毎(いちにちごと)の訪問者数が分かっています。
とりあえず、連続するk日の中で、1日あたりの平均訪問者数が最も多い期間を、キャンペーンを行った期間の候補だと考えることにしました。

n日分の訪問者数のリストとキャンペーンの日数kが入力されるので、キャンペーンを行った期間の候補数と、候補の中で最も早い開始日を出力してください。

プログラムを実行して、想定どおり出力されれば演習課題クリアです!

※ この演習課題は、Python3でのみ解答することができます。
※ 前回の演習課題とテストケースが異なります。

期待する出力値

1 2

※paizaに会員登録すると無料で動画学習コンテンツをご利用いただけます
会員登録する

#04:シンプルに問題を解く - その2

前回のチャプターでは、コードをシンプルにしました。
今回は、コードのアルゴリズムを見直して、計算を高速化していきます。

日別訪問者数の最大平均区間


下記の問題をプログラミングしてください。

あなたは、とあるウェブサイトを管理していました。
ある連続したk日間、このウェブサイトでキャンペーンを行ったのですが、いつからいつまでの期間に行ったかを忘れてしまいました。

幸い、ウェブサイトを運営していた全n日分のアクセスログが残っており、1日ごとの訪問者数が分かっています。
とりあえず、連続するk日の中で、1日あたりの平均訪問者数が最も多い期間を、キャンペーンを行った期間の候補だと考えることにしました。

n日分の訪問者数のリストとキャンペーンの日数kが入力されるので、キャンペーンを行った期間の候補数と、候補の中で最も早い開始日を出力してください。


入力される値

入力は2行から成ります。

1行目にはnとkが半角スペース区切りで入力されます。

2行目にはn個の整数a_1, a_2, …, a_nが半角スペース区切りで入力されます。a_iはi日目の訪問者数を表します。

入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。


期待する出力

キャンペーンを行った期間の候補数と、候補の中で最も早い開始日を、この順で半角スペース区切りで1行で出力してください。


条件

すべてのテストケースにおいて、以下の条件をみたします。

・1≦n≦1,000
・1≦k≦n
・0≦a_i≦100

入力例1

5 3
1 2 3 2 1

出力例1

1 2

入力例2

10 2
6 2 0 7 1 3 5 3 2 6

出力例2

5 1