E. 人口统计

    传统题 文件IO:people 1000ms 256MiB

人口统计

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述:

喵喵的老师要求喵喵对某个村庄进行一次历史人口调查,她给了喵喵一份包含 nn 个人数据的表格,每个人都有其出生年份 aia_i 和去世年份 bib_i

老师一共提出了 qq 个问题,每个问题是给出一个年份,喵喵需要回答以下问题:

  • 该年份中有多少人还活着?
  • 该年份中最年轻的在世者年龄是多少?
  • 该年份中最年长的在世者年龄是多少?

为了方便统计,我们假设每个人都是在 aia_i 年初出生,并在 bib_i 年末去世。

输入:

第一行包含两个整数 nnqq,分别表示名单中的人数和查询的年份数。

接下来的 nn 行,每行包含两个整数 aia_ibib_i,分别表示第 ii 个人的出生年份和去世年份。

最后 qq 行,每行包含一个整数 xjx_j,表示第 jj 个查询的年份。

  • 1n,q1051 \leq n, q \leq 10^5,即人数和查询次数的范围。
  • 1aibi1091 \leq a_i \le b_i \leq 10^9,即每个人的出生年份和去世年份的范围。

输出:

输出共 qq 行,每行包含三个整数,分别表示在查询年份中活着的人数、最年轻的在世者年龄和最年长的在世者年龄。

样例输入1:

6 6
2000 2012
2001 2042
1960 2000
1990 2040
1930 2010
1972 2037
1940
1980
1999
2000
2010
2050

样例输出1:

1 10 10 
3 8 50 
4 9 69 
5 0 70 
5 9 80 
0 0 0

提示:

样例解释:

在每个查询年份中,活着的人如下:

  • 1940年:活着的人出生于 [1930]
  • 1980年:活着的人出生于 [1930, 1960, 1972]
  • 1999年:活着的人出生于 [1930, 1960, 1972, 1990]
  • 2000年:活着的人出生于 [1930, 1960, 1972, 1990, 2000]
  • 2010年:活着的人出生于 [1930, 1972, 1990, 2000, 2001]
  • 2050年:没有人在世。

image

科附CSP2024模拟赛1(CSP-J)

未参加
状态
已结束
规则
OI
题目
5
开始于
2024-9-28 8:30
结束于
2024-9-30 17:18
持续时间
3 小时
主持人
参赛人数
27