题目描述
陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。
苹果成熟的时候,陶陶就会跑去摘苹果。
陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。
现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。
假设她碰到苹果,苹果就会掉下来。
输入格式
输入文件包括两行数据。
第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。
第二行只包括一个100到120之间(包含100和120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。
输出格式
输出文件包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。
样例
输入样例:
100 200 150 140 129 134 167 198 200 111
110
输出样例:
5
算法
(模拟,枚举) $O(n)$
遍历数组中的数,即苹果的高度是否小于等于陶陶伸手加上凳子的高度
时间复杂度 $O(n)$
对每个苹果枚举一次,因此时间复杂度是$O(n)$,其中$n$是苹果数量。
C++ 代码
#include <iostream>
using namespace std;
int a[20];
int main()
{
int i = 0 , height;
while(i < 10) cin >> a[i] , ++ i;
cin >> height;
int count = 0;
height += 30;
for(int j = 0; j < 10; ++ j)
{
if(height >= a[j]) ++ count;
}
cout << count << endl;
return 0;
}