HM250 按条件点数

HM250 按条件点数

HM250 按条件点数

来源: 第 250 集 常用查找算法-count_if

难度: 普及-

时间限制: 1s

空间限制: 64MB

题目描述

if 后缀的查找算法按**条件**工作。count_if 按条件统计个数,要传入三个参数:起始迭代器、结束迭代器、谓词。看到参数名里的 pred,就应提供返回布尔值的仿函数(函数对象)。

本题分两段统计:

  1. 内置整型:把整数依次放进容器后,统计严格大于阈值 \(T\) 的个数。谓词对每个取出的 int 判断是否大于 \(T\)。
  2. 自定义类型:每个人有姓名和年龄。统计年龄严格大于阈值 \(A\) 的人数。谓词的参数必须是 const 引用,对比时不得改掉这个人。

两段都用 count_if 完成,不要手写循环计数。使用前包含算法头文件。仿函数可以按输入阈值灵活改策略,不要把阈值写死在类型名里。

输入格式

第一行两个整数 \(n\)、\(T\)。

第二行 \(n\) 个整数。当 \(n=0\) 时本行可以是空行。

第三行两个整数 \(m\)、\(A\)。

接下来 \(m\) 行,每行一个不含空格的姓名和一个整数年龄。

输出格式

共两行:

  1. 整数中大于 \(T\) 的个数;
  2. 人员中年龄大于 \(A\) 的人数。

样例

输入 #1

6 20
10 40 30 20 40 20
5 20
刘备 35
关羽 35
张飞 35
赵云 40
曹操 20

输出 #1

3
4

输入 #2

3 100
1 2 3
1 50
小明 18

输出 #2

0
0

说明

\(0 \le n,m \le 1000\),整数与年龄的绝对值不超过 \(10^9\),姓名长度不超过 \(20\)。

样例 #1:大于 \(20\) 的整数是 \(40,30,40\),共 \(3\) 个;年龄大于 \(20\) 的是前四人,曹操恰好 \(20\) 岁不计入。相等不算「大于」。

信息

ID
1249
难度
(无)
分类
(无)
标签
(无)
递交数
0
已通过
0
通过率
?
上传者