#include <bits/stdc++.h>
using namespace std;
int n,m=1,sum=0,ans=1,p;
int x[5100],g[5100],l[5100];
int main(){
ios::sync_with_stdio(false);
while(cin>>n){
x[m++]=n;
}
for(int i=1;i<=m-1;++i){
g[i]=1;
for(int j=1;j<=i-1;++j){//本身不与自己比较
if((x[j]>x[i])&&(g[i]<g[j]+1)){//若满足下降条件,就在原基础上加1,同时判断是否为当前最长序列
g[i]=g[j]+1;
}
}
}
for(int i=1;i<=m-1;++i){
sum=max(sum,g[i]);
}//最长下降子序列
l[ans]=x[1];
for(int i=2;i<=m-1;++i){//所有导弹
p=0;
for(int j=1;j<=ans;++j){//所有系统
if(x[i]>l[j]){//if语句无法运行
if(p==0){
p=j;
}else{
if(l[p]>l[j]) p=j;
}
}
}
if(p==0){
ans++;
l[ans]=x[i];
}else{
l[p]=x[i];
}
}
cout<<sum<<'\n'<<ans;
return 0;
}
已经按照网上的方法查过一遍了,但还是不行