D. Alice, Bob and Candies1300 / 模拟

Posted 幽殇默

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了D. Alice, Bob and Candies1300 / 模拟相关的知识,希望对你有一定的参考价值。


https://codeforces.com/problemset/problem/1352/D

#include<bits/stdc++.h>
using namespace std;
const int N=1e5*2+10;
int t,n,a[N],s[N];
int main(void)
{
	cin>>t;
	while(t--)
	{
		cin>>n;
		for(int i=1;i<=n;i++) cin>>a[i],s[i]=s[i-1]+a[i];
		int sum1=s[1],sum2=0,lasta=s[1],lastb=0;
		int cnt=1,flag=0;
		int l=1,r=n;
		if(n==1)
		{
		    cout<<1<<" "<<s[1]<<" "<<0<<endl;
		    continue;
		}
		while(1)
		{
		    if(flag)
		    {
		        int temp=sum1;
		        int last=sum1+lastb;
		        for(int i=l+1;i<r&&sum1<=last;i++) sum1=s[i],l=i;
		        lasta=sum1-temp;
		        flag=0;
		    }else
		    {
		        int temp=sum2;
		        int last=sum2+lasta;
		        for(int i=r;i>l&&sum2<=last;i--) sum2=s[n]-s[i-1],r=i;
		        lastb=sum2-temp;
		        flag=1;
		    }
		    cnt++;
		    if(abs(l-r)==1) break;
		}
		cout<<cnt<<" "<<sum1<<" "<<sum2<<endl;
	}
	return 0;
}

以上是关于D. Alice, Bob and Candies1300 / 模拟的主要内容,如果未能解决你的问题,请参考以下文章

湘潭邀请赛——Alice and Bob

ACM-Alice and Bob

HDU 5054 Alice and Bob(数学)

hdu 4268 Alice and Bob

Alice and Bob HDU - 4111 (SG函数)

CodeForces - 346A Alice and Bob博弈