#C. [GESP202409 三级] 平衡序列 核桃GESP考三级




所以要从题目出发,优化代码 思路是:
1、前缀和,算出来累加和。
2、通过tot*2==sum,判断是不是有相等的值。

这个是数学上的优化。

原错误的代码思路

include <bits/stdc++.h>

using namespace std;
int n;
int main( )
{
    cin >> n;
    for (int i=1;i<=n;i++)
    {
        int a, b[10005];
        int po=0;
        cin >> a;
        for (int j=1;j<=a;j++)
        {
            cin >> b[j];
        }
        for (int j=1;j<=a;j++)
        {
            int sum=0, num=0;
            for (int k=1;k<=j;k++)
            {
                sum+=b[k];
            }
            for (int k=j+1;k<=a;k++)
            {
                num+=b[k];
            }
            if(sum==num) po=1;
        }
        if (po) cout << "Yes" << endl;
        else cout << "No" << endl;
    }
    return 0;
}

posted @ 2024-11-07 14:20  浩瀚宇宙星晨  阅读(99)  评论(0编辑  收藏  举报