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 / 模拟的主要内容,如果未能解决你的问题,请参考以下文章