2 条题解

  • 0
    @ 2025-10-17 21:42:43

    saki酱●█▀█▄saki酱●█▀█▄saki酱●█▀█▄

    题目分析

    根据题意不难得出,对于任意被操作的两个数的下标的奇偶性是相同的;同时,无论怎么操作,所有奇数项或偶数项的总和是不变的。所以可以满足题目要求的必要条件是奇数项的平均数和偶数项的平均数都是整数且相等。所以将数组的奇数项和偶数项求和再判断平均数是否为整数以及相等即可。

    代码如下(cpp):

    #include <bits/stdc++.h>
    using namespace std;
    
    int main(){
        int t;
        scanf("%d", &t);
        while(t--){
            int n;
            scanf("%d", &n);
            long long num1 = 0, num2 = 0;
            for(int i = 1; i <= n; i++){
                int x;
                scanf("%d", &x);
                if(i & 1) num1 += x;
                else num2 += x;
            }
            if(num1 % ((n + 1) / 2) == 0 && num2 % (n / 2) == 0 && (num1 / ((n + 1) / 2)) == (num2 / (n / 2)))
                printf("YES\n");
            else printf("NO\n");
        }
        return 0;
    }
    

    [2025 实验室一面] saki酱●█▀█▄saki酱●█▀█▄saki酱●█▀█▄

    信息

    ID
    1097
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    递交数
    77
    已通过
    14
    上传者