根据数据来看,全是第一问答案错了,答案都是2......
测评记录
代码如下
#include<bits/stdc++.h>
using namespace std;
int high[10005],dp[10005],n,ans1=0,ans2=0;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
dp[i]=1;
cin>>high[i];
}
for(int i=1;i<=n;i++){
for(int j=i+1;j<=n;j++)
{
if(high[j]<=high[i])
dp[i]=max(dp[i],dp[j]+1);
}
ans1=max(ans1,dp[i]);
}
cout<<ans1<<endl;
for(int i=1;i<=n;i++)
{
if(high[i]!=-1)
{
int tmp=high[i];
ans2++;high[i]=-1;
for(int k=i+1;k<=n;k++)
if(high[k]<=tmp&&high[k]!=-1)
{
tmp=high[k];high[k]=-1;
}
}
}
cout<<ans2;
return 0;
}