1 条题解

  • 0
    @ 2025-7-7 14:01:59

    #include <bits/stdc++.h> using namespace std; const int N = 100000 + 10; int a[N],b[N],cnt=0; int n; int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);

    std::cin>>n;
    for(int i=1;i<=n;i++){
    	cin>>a[i];
    }
    for(int i=1;i<=n;i++){
    	if(cnt==0||a[i]>b[cnt]){
    		b[++cnt]=a[i];
    	}else{
    		int* pos=lower_bound(b+1,b+cnt+1,a[i]);
    		*pos=a[i];
    	}
    	
    }
    cout<<cnt;
    
    return 0;
    

    }

    信息

    ID
    2424
    时间
    1000ms
    内存
    512MiB
    难度
    6
    标签
    递交数
    20
    已通过
    11
    上传者