提交时间:2024-03-30 16:31:48
运行 ID: 140619
#include<iostream> using namespace std; int main() { int a[30005],a1[30005],a2[30005],b=1,c,d,e,f=1; bool x[30005]={0}; while(cin>>a1[b]) b++; b--; for(int y=1;y<=b;y++) for(int z=y;z>=1;z--) if(a1[y]<=a1[z]) a2[y]=max(a2[y],a2[z]+1); int sf=0; for(int y=1;y<=b;y++) sf=max(sf,a2[y]); cout<<sf<<endl; b++; a[1]=a1[1]; for(c=2;c<=b;c++) { d=0; for(e=1;e<=f;e++) { if(a[e]>=a1[c]) { if(d==0) d=e; else if(a[e]<a[d]) d=e; } } if(d==0) { f++; a[f]=a1[c]; } else a[f]=a1[c]; } cout<<f; return 0; }