HM238 一元门槛

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
通过率
?
上传者