解题思路:
注意事项:
参考代码:
#include<iostream> #include<algorithm> #include<vector> using namespace std; const int N =1010; int d[N],num; int a[N]; int main(void) { int n; cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; d[++num]=a[1]; for(int i=2;i<=n;i++) { if(a[i]>=d[num]) d[++num]=a[i]; else { int p=upper_bound(d+1,d+num+1,a[i])-d; d[p]=a[i]; } } cout<<num; return 0; }
0.0分
0 人评分