以下代码1020:拦截导弹不过,求大神帮忙
#include
#include
#include
using namespace std;
int a[200005],b[200005],h[200005],i,x,n,maxx,m;
int main(){
std::ios::sync_with_stdio(false);
std::cin.tie(0);
std::cout.tie(0);
i=1;
while(cin>>a[i]){
maxx=0;
for(int j=1;j<=i-1;j++)
if(a[j]>=a[i]) maxx=max(b[j],maxx);
b[i]=maxx+1;
m=max(b[i],m);
x=0;
for(int k=1;k<=n;k++)
if(h[k]>=a[i]){
if(x==0) x=k;
else{if(h[k]<h[x]) x=k;}
}
if(x==0) n++,x=n;
h[x]=a[i];
i++;
}
cout<<m<<endl<<n<<endl;
return 0;
}