AT_joig2024_f.感染シミュレーション (Infection Simulation)

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

EGOI 食堂昨天迎来了 NN 名顾客。每位顾客都被分配了 11 到 NN 的编号,其中第 ii 位顾客(1≤i≤N1 \leq i \leq N)的进店时间为 LiL_i,离店时间为 RiR_i。如今已知,其中有一位顾客在到店时已感染了目前在 JOI 国流行的新型传染病 X。

传染病 X 的传染难度以整数 xx 表示。具体而言,对每位顾客 ii(1≤i≤N1 \leq i \leq N),如果其与至少一名感染者同时在食堂内的累计时间达到 xx,那么他就会成为新的感染者。

由于 JOI 国采取了严格的防疫政策,必须精确掌握感染者人数。但令人头疼的是,具体是哪位顾客在进店时感染了感染症 X 不明,传染难度 xx 也不清楚。

因此,EGOI 食堂的店长理惠决定针对 QQ 个场景,分别计算最终有多少人被感染。第 jj 个场景(1≤j≤Q1 \leq j \leq Q)里,编号为 PjP_j 的顾客是唯一最初的感染者,且传染病 X 的传染难度为 XjX_j。

给定顾客和各个场景的信息,请编写程序,输出每个场景下最终被感染顾客的人数。注意,如果某人正好在离店时刻感染,也计入感染人数。同时,已感染的顾客不会变回未感染者。

输入格式

输入格式如下:

NN
L1L_1 R1R_1
L2L_2 R2R_2
……
LNL_N RNR_N
QQ
P1P_1 X1X_1
P2P_2 X2X_2
……
PQP_Q XQX_Q

输出格式

输出 QQ 行。第 jj 行(1≤j≤Q1 \leq j \leq Q)输出第 jj 个场景下最终被感染顾客的人数。

输入输出样例

  • 输入#1

    4
    10 40
    20 80
    45 60
    70 95
    1
    1 15

    输出#1

    3
  • 输入#2

    8
    0 30
    0 90
    0 80
    0 60
    0 20
    0 40
    0 70
    0 50
    3
    1 30
    1 40
    4 50

    输出#2

    7
    1
    5
  • 输入#3

    5
    0 10
    0 10
    0 10
    0 10
    0 10
    4
    1 9
    1 10
    1 11
    1 1000000000

    输出#3

    5
    5
    1
    1
  • 输入#4

    7
    38 61
    13 27
    10 54
    22 56
    49 75
    27 47
    70 99
    1
    3 10

    输出#4

    6
  • 输入#5

    10
    10 20
    11 21
    13 23
    16 26
    20 30
    25 35
    31 41
    38 48
    46 56
    80 90
    4
    1 3
    1 6
    1 8
    1 10

    输出#5

    8
    5
    3
    1
  • 输入#6

    7
    10 54
    38 61
    13 27
    22 56
    49 75
    27 47
    70 99
    5
    1 3
    1 6
    1 9
    1 12
    1 15

    输出#6

    7
    6
    6
    6
    4
  • 输入#7

    7
    38 61
    13 27
    10 54
    22 56
    49 75
    27 47
    70 99
    5
    1 10
    2 10
    3 10
    4 10
    5 10

    输出#7

    4
    6
    6
    5
    2

说明/提示

子任务

  1. (2 分)Li=0L_i = 0(1≤i≤N1 \leq i \leq N),Ri=10R_i = 10(1≤i≤N1 \leq i \leq N),Q≤5Q \leq 5。
  2. (3 分)Li=0L_i = 0(1≤i≤N1 \leq i \leq N),Q≤5Q \leq 5。
  3. (6 分)Li=0L_i = 0(1≤i≤N1 \leq i \leq N)。
  4. (10 分)N≤500N \leq 500,Q≤5Q \leq 5,Ri≤500R_i \leq 500(1≤i≤N1 \leq i \leq N),Xj≤500X_j \leq 500(1≤j≤Q1 \leq j \leq Q)。
  5. (11 分)N≤500N \leq 500,Q≤5Q \leq 5。
  6. (16 分)Q≤5Q \leq 5。
  7. (13 分)Pj=1P_j = 1(1≤j≤Q1 \leq j \leq Q),L1<L2<…<LNL_1 < L_2 < … < L_N,R1<R2<…<RNR_1 < R_2 < … < R_N。
  8. (14 分)Pj=1P_j = 1(1≤j≤Q1 \leq j \leq Q)。
  9. (15 分)min⁡1≤i≤N(Ri−Li)\min_{1 \leq i \leq N}(R_i - L_i) 不小于 max⁡1≤j≤Q(Xj)\max_{1 \leq j \leq Q}(X_j)。
  10. (10 分)无额外限制。

样例说明 1

在第 11 个场景中,最初的感染者是顾客 11,传染病 X 的传染难度为 1515,感染传播过程如下:

  • 时刻 1010,顾客 11 进店。
  • 时刻 2020,顾客 22 进店。
  • 时刻 3535,顾客 22 与至少一名感染者在食堂共处的累计时间达到 1515,顾客 22 被感染。
  • 时刻 4040,顾客 11 离店。
  • 时刻 4545,顾客 33 进店。
  • 时刻 6060,顾客 33 与至少一名感染者在食堂共处的累计时间达到 1515,顾客 33 被感染,与此同时顾客 33 离店。
  • 时刻 7070,顾客 44 进店。
  • 时刻 8080,顾客 22 离店。
  • 时刻 9595,顾客 44 离店。顾客 44 与至少一名感染者共处总计 1010 单位时间,未达到传染难度 1515,未被感染。

最终,顾客 1,2,31, 2, 3 共 33 人被感染,因此第 11 行输出 33。

此输入满足子任务 4,5,6,8,9,104, 5, 6, 8, 9, 10 的限制。

样例说明 2

在第 11 个场景下,最终顾客 1,2,3,4,6,7,81, 2, 3, 4, 6, 7, 8 共 77 人感染,因此第 11 行输出 77。
在第 22 个场景中,最终仅有顾客 11 感染,因此第 22 行输出 11。
在第 33 个场景中,最终顾客 2,3,4,7,82, 3, 4, 7, 8 共 55 人感染,因此第 33 行输出 55。

此输入满足子任务 2,3,4,5,6,102, 3, 4, 5, 6, 10 的限制。

样例说明 3

此输入满足子任务 1,2,3,5,6,8,101, 2, 3, 5, 6, 8, 10 的限制。

样例说明 4

此输入满足子任务 4,5,6,9,104, 5, 6, 9, 10 的限制。

样例说明 5

此输入满足子任务 4,5,6,7,8,9,104, 5, 6, 7, 8, 9, 10 的限制。

样例说明 6

此输入满足子任务 4,5,6,8,104, 5, 6, 8, 10 的限制。

样例说明 7

此输入满足子任务 4,5,6,9,104, 5, 6, 9, 10 的限制。

数据范围

  • 1≤N≤100 0001 \leq N \leq 100\,000。
  • 0≤Li<Ri≤1090 \leq L_i < R_i \leq 10^9(1≤i≤N1 \leq i \leq N)。
  • 1≤Q≤100 0001 \leq Q \leq 100\,000。
  • 1≤Pj≤N1 \leq P_j \leq N(1≤j≤Q1 \leq j \leq Q)。
  • 1≤Xj≤1091 \leq X_j \leq 10^9(1≤j≤Q1 \leq j \leq Q)。
  • 所有输入均为整数。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页