結果
| 問題 | No.3402 [Cherry Anniversary 5] Beyond Zelkova, the 5th year vista seen through the bloom of a cherry bloosom |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-12-09 00:12:16 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.89.0) |
| 結果 |
AC
|
| 実行時間 | 12 ms / 2,000 ms |
| コード長 | 1,653 bytes |
| 記録 | |
| コンパイル時間 | 1,963 ms |
| コンパイル使用メモリ | 195,880 KB |
| 実行使用メモリ | 7,848 KB |
| 最終ジャッジ日時 | 2025-12-09 00:12:19 |
| 合計ジャッジ時間 | 3,288 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 24 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
auto Year = [&](int y) -> int {
if(y%400 == 0) return 366;
if(y%100 == 0) return 365;
if(y%4 == 0) return 366;
return 365;
};
auto Month = [&](int y,int m) -> int {
if(m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12) return 31;
else if(m != 2) return 30;
if(Year(y) == 366) return 29;
return 28;
};
auto count = [&](int y,int m,int d,int &y2,int &m2,int &d2) -> int {
int ret = 1;
if(y < y2){
if(d != 1){
int D = Month(y,m);
ret += D-d+1;
d = 1,m++;
if(m == 13) m = 1,y++;
}
while(m != 1){
ret += Month(y,m);
m++;
if(m == 13) m = 1,y++;
}
}
while(y < y2) ret += Year(y++);
if(m < m2){
if(d != 1){
int D = Month(y,m);
ret += D-d+1;
d = 1,m++;
if(m == 13) m = 1,y++;
}
while(m < m2) ret += Month(y,m),m++;
}
if(d < d2) ret += d2-d;
return ret;
};
int y1,m1,d1,y2,m2,d2; cin >> y1 >> m1 >> d1 >> y2 >> m2 >> d2;
int X = count(y1,m1,d1,y2,m2,d2);
int Q; cin >> Q;
while(Q--){
int y3,m3,d3; cin >> y3 >> m3 >> d3;
int Y = count(y2,m2,d2,y3,m3,d3)-1;
if(X == Y) cout << "Same\n";
else if(X < Y) cout << "More\n";
else cout << "Less\n";
}
}