提交时间:2024-03-30 15:00:53

运行 ID: 140397

#include<bits/stdc++.h> using namespace std; int n,a[100005],b[100005]; int find(int aa) { int maxn=0; for(int i=aa;i>=1;i--) { if(a[i]<=a[aa])maxn=max(maxn,b[i]+1); } return maxn; } int main() { cin>>n; for(int i=1;i<=n;i++)cin>>a[i]; b[1]=1; for(int i=2;i<=n;i++)b[i]=find(i); int maxn=0; for(int i=1;i<=n;i++)maxn=max(maxn,b[i]); cout<<maxn; return 0; }