시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 512 MB35718016559.567%

문제

주의: 이 문제에서는 통상적인 달력 대신 1달은 30일, 1년은 12개월인 가상의 달력을 가정한다.

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

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

  1. 월차와 연차는 각각 매달, 매해의 입사일과 같은 날에 지급된다.
  2. 월차는 3년차(36개월차)까지 1개월(30일)이 지날 때마다 하나씩 지급한다. 즉 최대 36개를 지급할 수 있다.
  3. 연차는 1년에 $A + 15$개를 지급한다.
  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$ 날짜까지 일했을 때, 얻을 수 있는 총 연차/월차의 개수 및 근무 기간을 알려주는 시스템을 만드는 것이다. 근무 기간은 사용자가 입사한 뒤 며칠이 지났는지를 의미한다.

제발~ 만들어줘~

입력

$S$와 $E$가 Year Month Day의 형식으로 두 줄에 걸쳐 주어진다. 각 수는 공백을 통해 구분되어 있다.

  • $1\leq$ Year $\leq9999$
  • $1\leq$ Month $\leq12$
  • $1\leq$ Day $\leq30$

두 번째로 주어지는 날짜는 첫 번째로 주어진 날짜를 기준으로 미래의 날짜이다. 즉, $S < E$이다.

출력

첫 번째 줄에는 연차와 월차의 총 개수를 공백을 사이에 두고 출력한다. 두 번째 줄에는 총 근무 기간의 뒤에 days를 붙여서 출력한다. 근무 기간이 1일이더라도 day가 아닌 days를 붙여서 출력해야 한다.

예제 입력 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번