救命,全TLE,悬一关
查看原帖
救命,全TLE,悬一关
1419936
hydk2012楼主2024/12/3 22:25
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll a[100005],dp[100005],n;
int main()
{
	while(cin>>a[++n])
	n--; 
	for(int i=1;i<=n;i++)
	{
		if(a[i]<=dp[i]) dp[i]=a[i];
		else
		{
			ll l=0,r=n,mid,p;
			while(l<=r)
			{
				mid=(l+r)/2;
				if(dp[i]<a[i])
				{
					p=mid;
					r=mid;
				}else
				{
					l=mid;
				}
			}
			dp[i]=p;
		}
	}
	cout<<dp[n]<<' ';
	for(int i=1;i<=n;i++)
	{
		if(a[i]>dp[i]) dp[i]=a[i];
		else
		{
			ll l=0,r=n,mid,p;
			while(l<=r)
			{
				mid=(l+r)/2;
				if(dp[i]>=a[i])
				{
					p=mid;
					r=mid;
				}else
				{
					l=mid;
				}
			}
			dp[i]=p; 
		}
	}
	cout<<dp[n];
	return 0;
}


蒟蒻求条

2024/12/3 22:25
加载中...