CF1616D
题目大意
给一个数组,让你选择数组中的最大元素数,使得任意一段区间
思路
将
对于
代码
#include <bits/stdc++.h>//祝大家学习愉快!
using namespace std;
const int maxn=5e4+10;
const int inf=0x3f3f3f3f;
int a[maxn];
int main(){
int t;
scanf("%d",&t);
while(t--){
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
int ans=n,x;
scanf("%d",&x);
for(int i=1;i<=n;i++) a[i]-=x;
for(int i=2;i<=n;i++){
if(a[i]+a[i-1]<0||a[i]+a[i-1]+a[i-2]<0){
ans--;
a[i]=inf;
}
}
printf("%d\n",ans);
}
return 0;
}