#P13849. [CERC 2023] Equal Schedules

[CERC 2023] Equal Schedules

题目描述

You are one of the people on-call for a high-availability service that offers users to solve programming tasks. As an organized team, you have an on-call schedule specifying who is responsible for the service at which time. A colleague sends you a new schedule, and you want to make sure that everyone has the same amount of on-call time as before, or print any differences.

The on-call schedule is specified with lines of form si ei tis_i \ e_i \ t_i, where sis_i and eie_i represent the start and end offsets of the on-call shift for a teammate tit_i from some start hour.

Given a sample schedule

0 7 jan
7 14 tomaz
14 20 jure
20 24 jan
24 25 tomaz
25 26 jure

we can see that jan is on-call for the first 77 hours (hour 0,1,2,3,4,50, 1, 2, 3, 4, 5, and 66), tomaz for next 77, … In total, jan is on-call for 1111 hours, tomaz for 88 and jure for 77.

输入格式

The input contains two schedules separated by a horizontal line ------. Each schedule contains one or more lines of form si ei tis_i \ e_i \ t_i, where integers sis_i and eie_i specify that teammate tit_i is on-call for hours from sis_i up to and excluding eie_i. A final line ====== is printed after the second schedule.

输出格式

Output the differences between two schedules, in form ti ±dit_i \ \pm d_i, where did_i is the difference between the second and the first schedule for the teammate tit_i. The output should be sorted alphabetically by teammates' names and teammates with no differences should be omitted, otherwise the difference should be printed with a + or a - sign. If no differences are found, print No differences found. (without the quotes).

0 7 jan
7 14 tomaz
14 20 jure
20 24 jan
24 25 tomaz
25 26 jure
------
0 9 tomaz
9 20 jan
20 26 jure
======
jure -1
tomaz +1
0 7 nino
7 14 bgs
14 21 ines
------
0 7 ines
7 14 nino
14 21 bgs
======
No differences found.

0 3 vid
3 6 maks
6 9 janez
------
0 1 vid
1 2 vid
2 3 vid
3 4 maks
4 5 maks
5 6 maks
6 7 janez
7 8 janez
======
janez -1

提示

Input limits

For each schedule, the following holds:

  • s1=0s_1 = 0
  • si<eis_i < e_i
  • si+1=eis_{i+1} = e_i
  • ei1000e_i \leq 1000
  • Name tit_i will consist of lowercase letters from the English alphabet.
  • 3ti203 \leq |t_i| \leq 20