黑题中的水题
#include<bits/stdc++.h>
using namespace std;
int n, a[12345678];
int main(){
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
int p=-1,q=-1,d=0;
for(int i=1;i<=n+1;i++){
int sum=a[i]-a[i-1];
if(sum>=0)p=min(q,p+sum),q+=sum;
else p=max(min(q+sum,p),-1),(q>=a[i]?d++,q=p,p=-1:q=q);
}cout<<d;
}