写好了代码,但结果是——1AC,9WA,11TLE!其实早就知道通不过但还是来试试【嘿嘿破防了大家帮忙调一下吧~谢谢啦~
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int a[N],f[N],h[N];
int n,maxx,ans1,x,ans2;
int main(){
while(cin>>a[++n]){
maxx=0;
for(int j=1;j<n;j++)
if(a[j]>a[n])
if(f[j]>maxx) maxx=f[j];
f[n]=maxx+1;
if(f[n]>ans1) ans1=f[n];
x=0;
for(int j=1;j<=ans2;j++)
if(h[j]>=a[n]){
if(x==0) x=j;
else if(h[j]<h[x]) x=j;
}
if(x==0) x=++ans2;
h[x]=a[n];
}
cout<<ans1<<endl<<ans2<<endl;
return 0;
}
帮帮忙!谢谢~