HM250 按条件点数
HM250 按条件点数
来源: 第 250 集 常用查找算法-count_if
难度: 普及-
时间限制: 1s
空间限制: 64MB
题目描述
带 if 后缀的查找算法按**条件**工作。count_if 按条件统计个数,要传入三个参数:起始迭代器、结束迭代器、谓词。看到参数名里的 pred,就应提供返回布尔值的仿函数(函数对象)。
本题分两段统计:
- 内置整型:把整数依次放进容器后,统计严格大于阈值 \(T\) 的个数。谓词对每个取出的
int判断是否大于 \(T\)。 - 自定义类型:每个人有姓名和年龄。统计年龄严格大于阈值 \(A\) 的人数。谓词的参数必须是
const引用,对比时不得改掉这个人。
两段都用 count_if 完成,不要手写循环计数。使用前包含算法头文件。仿函数可以按输入阈值灵活改策略,不要把阈值写死在类型名里。
输入格式
第一行两个整数 \(n\)、\(T\)。
第二行 \(n\) 个整数。当 \(n=0\) 时本行可以是空行。
第三行两个整数 \(m\)、\(A\)。
接下来 \(m\) 行,每行一个不含空格的姓名和一个整数年龄。
输出格式
共两行:
- 整数中大于 \(T\) 的个数;
- 人员中年龄大于 \(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
- 通过率
- ?
- 上传者