AtCoder Beginner Contest 10 B. 超大型連休
※このエントリは競プロで圧倒的成長 Advent Calendar 2015の16日目のエントリです.
問題概要
- AtCoder国の2012年の祝日が与えられるので最大の連休の数を求める
解法
- 長さ366の配列で2012年のi-1日目が休日がどうかを管理する
- 1日が日曜のためi%7==0は日曜,i%7==6は土曜
- m月d日を配列のindexに変換する
m-1月までの日の和がわかれば用意に変換できる (計算が容易なので手計算した) - そのindex以降の最初の平日を休日にする