输入包括两行数据。第一行只包括两个正整数n(5<=n<=200)和m(60<=m<=200),表示苹果数目和桃桃伸手可达到的高度(以厘米为单位)。第二行包含n个100到200之间(包括100和200)的整数(以厘米为单位)分别表示苹果到地面的高度,两个相邻的整数之间用一个空格隔开。 输出描述 输出包括一行,这一行只包含一个整数,表示陶陶不能够摘到的苹果的数目。
时间: 2024-02-11 11:04:29 浏览: 141
根据题意,我们可以使用与上一个问题类似的思路来解决这个问题。具体来说,我们先扫描一遍数组,找到第一个高度大于等于 `m` 的苹果,记为 `ans`,表示陶陶能够到达的最高苹果的下标,然后再从右往左扫描数组,找到第一个高度大于等于 `m` 的苹果,记为 `ans2`,表示陶陶不能够到达的最高苹果的下标。最后输出 `n-ans-1-(n-ans2)` 即可,表示不能够摘到的苹果的数量。
以下是具体的 C++ 代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
int a[200];
for (int i = 0; i < n; i++) {
cin >> a[i];
}
int ans = 0, ans2 = n - 1;
for (int i = 0; i < n; i++) {
if (a[i] >= m) {
ans = i;
break;
}
}
for (int i = n - 1; i >= 0; i--) {
if (a[i] >= m) {
ans2 = i;
break;
}
}
cout << n - ans - 1 - (n - ans2) << endl;
return 0;
}
```
阅读全文