//yuki711 #include using namespace std; int main(){ int n,x,y,v[200010]; cin>>n; for(int i=0;i<=n;i++) v[i]=1<<30; int ma=0; for(int i=1;i<=n;i++){ cin>>x; x-=i; if(x<0) continue; y=lower_bound(v,v+n+1,x+1)-v; v[y]=x; ma=max(ma,y); } cout<