#arc0231. [arc023_1]経過日数
[arc023_1]経過日数
問題文
駆け出しプログラマーの高橋君は、バイト先の会社で、ある日付から今日の日付( 年 月 日)までの経過日数を計算するプログラムを作る仕事を割り当てられ、悩んでいました。 最終的に、高橋君は「ある程度簡単な計算式に落とし込めたら高速化できるに違いない。」という信念のもとにいろいろ調べることで、ネットの海を彷徨っていると以下のような驚くべき公式を見つけました。この式の計算結果は、 年 月 日から 年月 日までの経過日数を表しているというのです。
ただしこの公式を使う際、ある年 月と 月の場合についてのみは、前年の 月, 月という扱いをすることとします。つまり、たとえば 年 月 日の場合、 として公式を適用しなければなりません。
例えばこの公式に を代入すると、 となり、 年 月 日から 年 月 日までに、 日経過したことが分かります。
この公式を応用すれば、任意の2つの日付に対する日数差を計算することができます。 例えば、 年 月 日と 年 月 日の日数差は、$(1年1月1日から2014年5月17日までの経過日数)-(1年1月1日から1988年7月3日までの経過日数)$ なので、 と求まります。
残念ながら高橋君は調べるだけで疲れて切ってしまったので、同僚であるあなたが彼の代わりにプログラムを書くことになりました。要するにあなたの仕事は、ある日付から今日の日付( 年 月 日)までの経過日数を計算するプログラムを作ることです。
入力
入力は以下の形式で標準入力から与えられる。
- 行目には、 が与えられる。
- 行目には、 が与えられる。
- 行目には、 が与えられる。
- 与えられる日付は2014年5月17日よりも前のものである。また、実際に存在しない日付は与えられない。つまり、 のとき であり、 のとき を満たす。残る については、 年が閏年( が の倍数、もしくは が の倍数ではない の倍数)であれば 、閏年でなければ を満たす。
出力
年 月 日から 年 月 日までに経過した日数を一行に出力せよ。
入力例1
1988
7
3
出力例1
9449
問題文の例です。 年 月 日から 年 月 日までに9449日経過しています。
入力例2
1
1
1
出力例2
735369
公式では、 月と 月はそれぞれ前年( 年)の 月と 月として扱わなければならないことに注意してください。
入力例3
2014
5
16
出力例3
1
入力例4
2012
2
29
出力例4
808
年 月 日は閏日です。