1 条题解
-
0
#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
- 上传者