求调D
  • 板块学术版
  • 楼主Lovely_Doggie
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/6/2 13:23
  • 上次更新2024/6/2 15:46:35
查看原帖
求调D
626836
Lovely_Doggie楼主2024/6/2 13:23

布吉岛哪里错惹,样例过了,手测了几组数据也过了蛋是全WA /kk

#include<bits/stdc++.h>
using namespace std;
long long t;
long long n;
long long a[100005];
long long d[100005];
long long l,r;
long long tryserch()
{
	l=1;
	r=n;
	long long ans=0;
	while(l!=r)
	{
		if(a[l]>=a[r])
		{
			ans+=a[l];
			d[l]=1;
			for(int i=l+1; i<=r; i++)
			{
				if(a[i]<=a[i-1])
				{
					d[i]=1;
					a[i-1]=0;
					l=i;
				}
				else
				{
					l=i;
					a[i]-=a[i-1];
					d[i]=0;
					break;
				}
			}
		}
		else if(a[l]<a[r])
		{
			ans+=a[r];
			d[r]=1;
			for(int i=r-1; i>=l; i--)
			{
				if(a[i]<=a[i+1])
				{
					d[i]=1;
					a[i+1]=0;
					r=i;
				}
				else
				{
					r=i;
					a[i]-=a[i+1];
					d[i]=0;
					break;
				}
			}
		}
	}
	return ans;
}
int main()
{
	cin>>t;
	for(int wxh=0; wxh<t; wxh++)
	{
		memset(a,0,sizeof(a));
		memset(d,0,sizeof(d));
		cin>>n;
		for(int i=1; i<=n; i++)
		{
			cin>>a[i];
		}
		cout<<tryserch()<<endl;
	}
	return 0;
}
2024/6/2 13:23
加载中...