题意
给你一个长度为N个序列,你可以每次从最左边或者最右边删除一个小于k的数字,问你最多能删多少个数字。
思路
分别从左右两边计算可以删除的个数,加和就是答案。注意答案不能超过N。
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 105;
int n, k, a[MAXN];
int main()
{
scanf("%d%d", &n, &k);
for (int i = 0; i < n; i++) scanf("%d", &a[i]);
int cnt = 0;
for (int i = 0; i < n && a[i] <= k; i++) cnt++;
for (int i = n-1; i >= 0 && a[i] <= k; i--) cnt++;
if (cnt > n) cnt = n;
printf("%d\n", cnt);
return 0;
}
/*
8 4
4 2 3 1 5 1 6 4
*/