求助昨天 CF D
  • 板块学术版
  • 楼主_HL_
  • 当前回复6
  • 已保存回复6
  • 发布时间2022/6/26 11:02
  • 上次更新2023/10/27 22:33:03
查看原帖
求助昨天 CF D
223560
_HL_楼主2022/6/26 11:02

我觉得下面这个代码复杂度是对的啊 但是 fst 了。。

TLE on test 14 不是很懂 求助为啥

#include <bits/stdc++.h>
using namespace std;
//#define int long long
const int N=3e5+3;
struct mpair
{
	int val,cnt;
};
int a[N];
 
signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	int t;
	cin>>t;
	while(t--)
	{
		int n;
		cin>>n;
		for(int i=1;i<=n;i++)cin>>a[i];
		int ans=0;
		for(int i=1;i<n;i++)
		{
			int j=i+1,lst;
			if(a[i]>a[j])
			{
				int mx=a[i],mn=a[j];
				lst=j;
				while(a[j+1]<mx&&j<n)
				{
					j++;
					if(a[j]<mn)mn=a[j],lst=j;
				}
			}
			else
			{
				int mx=a[j],mn=a[i];
				lst=j;
				while(a[j+1]>mn&&j<n)
				{
					j++;
					if(a[j]>mx)mx=a[j],lst=j;
				}
			}
			i=lst-1;
			ans++;
		}
		cout<<ans<<"\n";
	}
	return 0;
}
2022/6/26 11:02
加载中...