HM238 一元门槛
HM238 一元门槛
来源: 第 238 集 谓词-一元谓词
难度: 普及-
时间限制: 1s
空间限制: 64MB
题目描述
在 STL 里,**返回值为 bool 的仿函数**叫做谓词。重载 operator() 时:只有一个参数叫一元谓词,有两个参数叫二元谓词。返回值必须是布尔类型,才能称为谓词。
find_if 按条件查找,需要三个参数:区间起点迭代器、区间终点迭代器,以及一个谓词(参数名常写作 pred)。它会依次取出每个元素,用谓词判断;谓词为真就停,返回该元素的迭代器;一直走到终点仍不为真,则返回结束迭代器。
谓词可以写成具名对象,也可以写成 GreaterFive() 这样的**匿名函数对象**(类名后面直接加一对括号)。
给定 \(n\) 个整数和门槛 \(t\),用一元谓词“大于 \(t\)”配合 find_if,找出区间中**第一个**满足条件的数。找到则输出该数;若迭代器等于 end,输出 NOT FOUND。
输入格式
第一行一个整数 \(n\)。
第二行 \(n\) 个整数。当 \(n=0\) 时本行可以是空行。
第三行一个整数 \(t\)。
输出格式
一行。找到则输出那个整数,否则输出 NOT FOUND。
样例
输入 #1
10
0 1 2 3 4 5 6 7 8 9
5
输出 #1
6
输入 #2
4
1 2 3 4
10
输出 #2
NOT FOUND
说明
\(0 \le n \le 1000\),元素与 \(t\) 的绝对值不超过 \(10^9\)。
find_if 不论找到与否都返回迭代器:等于 end 表示未找到,解引用才能拿到元素。样例 #1 在 \(0\sim 9\) 中找大于 \(5\) 的数,第一个是 \(6\)。样例 #2 全部不大于门槛。
信息
- ID
- 1237
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 上传者