結果
問題 | No.87 Advent Calendar Problem |
ユーザー |
|
提出日時 | 2014-12-07 00:17:30 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 746 bytes |
コンパイル時間 | 1,218 ms |
コンパイル使用メモリ | 159,780 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-11 15:53:16 |
合計ジャッジ時間 | 1,908 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 24 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define REP(i, n) for(int(i)=0;(i)<(n);++(i)) int zeller(long long year, int mon, int day){ if(year < 1582 || mon < 1 || day < 1) throw; if(mon <= 2){ year--; mon += 12; } unsigned int h = (year + year/4 - year/100 + year/400 + (13*mon+8)/5 + day) % 7; return h; } int main(){ long long N; cin >> N; int c = 0; for(long long i = 2015; i <= min(2399LL,N); i++){ if(zeller(i,7,23) == 3) c++; } if(N >= 2400){ long long k = (N-2400)/400; c += 57*k; for(long long i = 2400+k*400; i <= N; i++){ if(zeller(i,7,23) == 3) c++; } } cout << c << endl; return 0; }