2号点TLE求助
查看原帖
2号点TLE求助
1095195
aliah楼主2024/5/30 15:39
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n,b,i,j,x,ans=0;
	cin>>n>>b;
	int up[n+1]={0},down[n+1]={0},a[n+1]={0};
	bool t=false;
	for(i=1;i<=n;i++)
	{
		cin>>x;
		if(x==b)
			t=true;
		up[i]=up[i-1];
		down[i]=down[i-1];
		a[i]=0;
		if(x>b)
			up[i]++;
		if(x<b)
			down[i]++;
		if(t)
		{
			for(j=i-1;j>=0;j-=2)
				if(up[i]-up[j]==down[i]-down[j])
				{
					if(a[j])
					{
						a[i]+=a[j];
						break;
					}
					a[i]++;
				}
			ans+=a[i];
		}
	}
	cout<<ans;
	return 0;
}
2024/5/30 15:39
加载中...