#include #include using namespace std; int inf=2e9; int op(int a,int b){return min(a,b);} int e(){return inf;} void solve(){ int n; cin>>n; assert(n<=7000); vector h(n); for (int i=0;i>h[i]; auto cmp=h; sort(cmp.begin(),cmp.end()); vector seg(4,atcoder::segtree(n)); for (int i=0;i=0;i--){ if (i%2==0){ for (int j=0;j=0;j--){ int p=seg[i].prod(0,j+1)+(j!=h[t]); if (i) p=min(p,seg[i-1].prod(0,j+1)+(j!=h[t])); seg[i].set(j,p); } } } } cout<>t; while (t--) solve(); }