문제

링크

풀이

#include <iostream>
using namespace std;
 
inline bool leap(int y) {
  return y % 4 == 0 && (y % 100 != 0 || y % 400 == 0);
}
 
inline int calc(int y, int m, int d) {
  int ret = 0;
  int a[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
  for (int i=0; i<y; i++) ret += 365 + leap(i);
  for (int i=0; i<m; i++) ret += a[i-1];
  if (m > 2) ret += leap(y);
  ret += d;
  return ret;
}
 
void solve(void) {
  int y1, m1, d1; cin >> y1 >> m1 >> d1;
  int y2, m2, d2; cin >> y2 >> m2 >> d2;
 
  int ans = calc(y2, m2, d2) - calc(y1, m1, d1);
  if (ans > 365242) cout << "gg";
  else cout << "D-" << ans;
}
 
int main(void) {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
 
  solve();
  return 0;
}