B - 超大型連休
Editorial
/
2011 年、AtCoder 国の高橋首相はある重大な決定を行った。
その決定とは...法改正である。国民の祝日に関する法律を変更し、休日を増やすことにした!!
国民の創造性を尊重するその決定が、霞が関を魔境へと変えたッ!
あなたは霞が関の国土交通省に勤務する職員であり、この法改正により上司から新たな任務を与えられた。
その任務とは、2012 年の「連休の最大日数」を計算することである。
連休の大きさを事前に計算することで国民の行動を予想し、高速道路の部分的な値下げを行い、経済を活性させるためだ。
したがって、あなたに失敗することは許されない。国民の行動を正確に予想できなくなるからだ。
以下に、「連休」の定義と諸注意を記す。
入力は以下の形式で標準入力から与えられる。
法改正後における 2012 年の連休の最大日数を出力せよ。
出力は標準出力におこない、末尾には改行をいれること。
Time Limit: 2 sec / Memory Limit: 64 MB
問題文
その決定とは...法改正である。国民の祝日に関する法律を変更し、休日を増やすことにした!!
国民の創造性を尊重するその決定が、霞が関を魔境へと変えたッ!
あなたは霞が関の国土交通省に勤務する職員であり、この法改正により上司から新たな任務を与えられた。
その任務とは、2012 年の「連休の最大日数」を計算することである。
連休の大きさを事前に計算することで国民の行動を予想し、高速道路の部分的な値下げを行い、経済を活性させるためだ。
したがって、あなたに失敗することは許されない。国民の行動を正確に予想できなくなるからだ。
以下に、「連休」の定義と諸注意を記す。
- AtCoder 国が使用する暦はグレゴリオ暦に従う。
- 「連休」とは、「休日」が連続して続くことである。
- 「土曜日」「日曜日」「祝日」「振替休日」が「休日」に相当する。
- 「祝日」が他の休日と同じ日に指定されていた場合、「振替休日」を必ず設置する。
- 「振替休日」は祝日の時系列順に決定していき、その祝日以降最も近い平日(休日を除いた日)となる。
- 2012 年 1 月 1 日は日曜日である。
入力
N m_{1}/d_{1} m_{2}/d_{2} : : m_{n}/d_{n}
- 1 行目には祝日の日数を表す整数 N が与えられ、 0≦N≦366 を満たす。
- 2 行目から N+1 行目までの N 行で祝日の日付が与えられる。
- m_{i} は i(1≦i≦366) 番目に与えられる祝日の月で、 1≦m_{i}≦12 を満たす。
- d_{i} は i(1≦i≦366) 番目に与えられる祝日の日で、
- m_{i} = 2 のとき、 1≦d_{i}≦29 を満たす。
- m_{i} = (4, 6, 9, 11) のとき、 1≦d_{i}≦30 を満たす。
- m_{i} = (1, 3, 5, 7, 8, 10, 12) のとき、 1≦d_{i}≦31 を満たす。
- m_{i} と d_{i} はともに整数である。
- m_{i} と d_{i} は必ず
/
で区切られて与えられる。 - 祝日は時系列順に与えられるとは限らないことに注意せよ。ただし、同じ日付が複数与えられないことは保証されている。
出力
出力は標準出力におこない、末尾には改行をいれること。
入力例 1
1 1/9
出力例 1
3
- 1/7(土),1/8(日),1/9(月)の 3 連休が最長です。
入力例 2
1 1/10
出力例 2
2
- 1/10(火)が祝日となり、1/7(土),1/8(日)などの 2 連休が最長です。
入力例 3
1 1/7
出力例 3
3
- 1/7は土曜日なので、以降で最も近い平日である1/9が振替休日になります。
- よって、1/7(土)、1/8(日)、1/9(月)の3連休が最長です。
入力例 4
2 1/7 1/9
出力例 4
4
- 1/7は土曜日なので振替休日を以降に設定したく、1/9が祝日なので1/10が振替休日になります。
- よって、1/7(土)、1/8(日)、1/9(月)、1/10(火)の4連休が最長です。