시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 256 MB174999466.667%

문제

360일 일하면, 휴가를 받아야 함이 마땅하다. 그에 따라, 우리 회사도 연차와 월차를 주고자 한다. 연차와 월차는 사용하면 하루 쉴 수 있는 것이다. 그런데, 인력이 너무 부족한 탓에 그만…. 지급할 수 있는 연차, 월차가 너무 적어지고 말았다. 직원들은 이런 내부 사정도 모르고, 연차를 받아서 기분이 좋다고 한다. 뭐…? 좋으면 좋은 거라고 매우 좋다. 아무튼 직원들의 편의를 "더욱" 증진하기 위해 자신의 연차와 월차를 계산한 결과를 보여줘서 업무 만족도를 높이려고 한다.

그렇다면, 각각의 계산법을 알아보자. 우선, 입사한 날은 0개월로 계산하고, N 년차는 입사한 날로부터 12 * N 월이 지난 상태를 의미한다.

  1. 월차는 36개월차까지 1개월이 지날때마다 하나씩 지급한다. (총 36개).
  2. 연차는 1년에 A + 15개를 지급한다.
  3. 월차와 연차는 각각 매달, 매해의 입사 일과 같은 날에 지급된다.
  4. 단, 입사 당일에는 연차와 월차가 지급되지 않는다.

A의 값은 입사할 때 0으로 시작해 2n + 1 (n = 1, 2, ...) 년차마다 1씩 커진다.

  •  1년 차 / 2년 차: A = 0
  •  3년 차 / 4년 차: A = 1
  •  5년 차 / 6년 차: A = 2

직원들은 두 개의 날짜 S, E를 입력한다. S는 입사한 날짜이고, E는 S 이후의 어떤 날짜이다. 우리가 할 일은 S 날짜에 입사하고 E 날짜까지 일했을 때, 얻을 수 있는 총 연차/월차의 개수 및 근무 기간을 구하는 것이다. 근무 기간은 사용자가 입사한 뒤 며칠이 지났는지를 의미한다. 그리고, 무슨 우연의 일치인지 매월 30일이 말 일이 된다. 뭔가 만들기 쉬워 보인다.

제발~ 만들어줘~

입력

Year Month Day 형식의 날짜가 두 줄에 걸쳐 주어진다. 각 숫자들은 공백을 통해 분리되어 있다.

출력

연차와 월차의 총 개수를 가운데 공백을 두고 출력하는 한 줄을 출력한다. 두 번째 줄에는 총 기간을 출력한다. 1일의 경우에도 days를 출력한다.

제한

두 번째로 주어지는 날짜는 첫 번째 날짜보다 반드시 더 이후의 날짜이다.

  • 1 ≤ Year ≤ 9999
  • 1 ≤ Month ≤ 12
  • 1 ≤ Day ≤ 30

예제 입력 1

2021 11 21
2022 11 21

예제 출력 1

15 12
360days

예제 입력 2

2021 11 11
2025 12 30

예제 출력 2

62 36
1489days

예제 입력 3

1 1 1
9999 12 30

예제 출력 3

25134972 36
3599639days

출처

University > 경북대학교 > 2021 Goricon B번