导弹拦截第二问全WA求调
查看原帖
导弹拦截第二问全WA求调
947153
ZHR100102楼主2024/7/22 00:14

第一问全部AC,但第二问全WA

#include <bits/stdc++.h>
using namespace std;
int n=1,h[100005],si[100005],sn[100005],tp=0,ui[100005],un[100005];
bool cmp(const int &val,const int &e)
{
	return e<val;
}
int main()
{
	while(cin>>h[n])n++;
	n--;
	sn[0]=0x3f3f3f3f;
	for(int i=1;i<=n;i++)
	{
		if(sn[tp]>=h[i])
		{
			sn[++tp]=h[i];
			si[tp]=i;
		}
		else
		{
			int tmp=upper_bound(sn+1,sn+tp+1,h[i],cmp)-sn;
			sn[tmp]=h[i];
			si[tmp]=i;
		}
	}
	cout<<tp<<endl;
	tp=0;
	for(int i=1;i<=n;i++)
	{
		if(un[tp]<h[i])
		{
			un[++tp]=h[i];
			ui[tp]=i;
		}
		else
		{
			int tmp=upper_bound(un+1,un+tp+1,h[i])-un;
			un[tmp]=h[i];
			ui[tmp]=i;
		}
	}
	cout<<tp<<endl;
	return 0;
}
2024/7/22 00:14
加载中...