Longest Ordered Subsequence
#include<iostream> #include<cstdio> #include<memory> #include<cstring> #include<algorithm> using namespace std; #define INF 10005 int num[1005],re[1005]; int main() { int n; while(~scanf("%d",&n)) { for(int i=0; i<n; ++i) scanf("%d",&num[i]); for(int i=1; i<=n; ++i) re[i]=INF; int ans=0; for(int i=0; i<n; ++i) { int k=lower_bound(re+1,re+1+n,num[i])-re; re[k]=num[i]; ans=max(ans,k); } printf("%d\n",ans); } }
浙公网安备 33010602011771号