#include #include #include using namespace std; int a[100100],b[100100],c[100100]; 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 len=1; b[1]=a[1]; c[1]=1; for(int i=2;i<=n;i++) if(a[i]>b[len]) { b[++len]=a[i]; c[i]=len; } else { int k=lower_bound(b,b+len,a[i])-b; b[k]=a[i]; c[i]=k; } for(int i=1;i