标签:
Description
Input
Output
Sample Input
6 5 2 1 4 5 3 3 1 1 1 4 4 3 2 1
Sample Output
3 1 1
Hint
#include <cstdio> using namespace std; const int L=100010; int a[L],b[L]; int n; void init() { for(int i=0;i<n;i++) scanf("%d",&a[i]); } int bin(int r,int k) { int l=1; while(l<=r) { int mid=(l+r)/2; if(k>b[mid]) l=mid+1; else r=mid-1; } return l; } int work() { int i,j,k; int c=0; for(i=0;i<n;i++) if(c==0||a[i]>b[c]) b[++c]=a[i]; else { k=bin(c,a[i]); b[k]=a[i]; } return c; } int main() { while(scanf("%d",&n)==1) { init(); printf("%d\n",work()); } return 0; }
标签:
原文地址:http://www.cnblogs.com/www-cnxcy-com/p/4734904.html