提交时间:2023-04-08 08:56:30
运行 ID: 73620
#include<bits/stdc++.h> using namespace std; int a[100010],sa[100010]; int n,ans=1; int solve(int n){ sa[ans]=a[0]; for(int tz,i=1;i<n;i++){ if(sa[ans]<a[i]){ ans++; sa[ans]=a[i]; }else{ tz=lower_bound(sa,sa+ans,a[i])-sa; sa[tz]=a[i]; } } return n-ans; } int t; int main(){ cin>>t; for(int i=1;i<=t;++i){ scanf("%d",&n); for(int i=0;i<n;i++)scanf("%d",&a[i]); printf("Case #%d:\n%d\n",i,solve(n)); } return 0; }