求助
  • 板块灌水区
  • 楼主0720wangyuxiang
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/8/19 16:29
  • 上次更新2024/8/19 19:20:43
查看原帖
求助
1243205
0720wangyuxiang楼主2024/8/19 16:29

导弹拦截

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=1e5+10;
ll a[N];
ll f[N];
ll ans=-1,x,n;
int main(){
	while(cin>>x)a[++n]=x;
	memset(f,1,sizeof(f));
	for(ll i=1;i<=n;i++){
		for(ll j=1;j<i;j++){
			if(a[j]>=a[i])f[i]=max(f[i],f[j]+1);
		}
		ans=max(ans,f[i]);
	}
	cout<<ans<<'\n';
	ans=-1;
	memset(f,1,sizeof(f));
	for(ll i=1;i<=n;i++){
		for(ll j=1;j<i;j++){
			if(a[j]<a[i])f[i]=max(f[i],f[j]+1);
		}
		ans=max(ans,f[i]);
	}
	cout<<ans;
	return 0;
}
2024/8/19 16:29
加载中...