本蒟蒻Subtask #1 这个测试点TLE了
求大佬修改
代码如下:
#include<bits/stdc++.h>
using namespace std;
int a[100005],dp[100005],h[100005];
int ma,m,n,l,r,mid;
int main(){
while(cin>>a[i]){
ma=0;
for(int j=1;j<=i-1;j++)if(a[j]>=a[i]&&dp[j]>ma)ma=dp[j];
dp[i]=ma+1;
m=max(dp[i],m);
l=1,r=n;
while (l<r){
mid=(l+r)/2;
if (h[mid]<a[i]) l=mid+1;
else r=mid;
}
if (h[r]<a[i]) n++,h[n]=a[i];
else h[r]=a[i];
i++;
}
cout<<m<<endl<<n;
return 0;
}
测评记录