社区讨论

询问求解答

P14520【MX-S11-T1】战争游戏参与者 2已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@mi1vdozo
此快照首次捕获于
2025/11/16 23:27
3 个月前
此快照最后确认于
2025/11/17 09:09
3 个月前
查看原帖
为什么要加上划线下面的那个 if,不加为什么不行。
CPP
#include <iostream>
#define big long long
using namespace std;
big T,n,a[100005],suml,sumr;
int main()
{
    // freopen("war5.in","r",stdin);
    // freopen("war.out","w",stdout);
    scanf("%lld",&T);
    while(T--)
    {
        suml = sumr = 0;
        scanf("%lld",&n);
        for(big i = 1;i <= n;i++)
        {
            scanf("%lld",a+i);
            sumr += a[i];
        }
        for(big i = 1;i < n;i++)
        {
            suml += a[i]; sumr -= a[i];
			//---------------------------------
			if(a[i]>a[i+1] && a[i]+a[i+1]>a[i+2])
			{
				printf("%d",suml+a[i+1]>sumr-a[i+1]);
			}
            else printf("%d",suml>sumr);
        }
        printf("\n");
    }
    return 0;
}

回复

4 条回复,欢迎继续交流。

正在加载回复...