2 条题解

  • 1
    @ 2023-5-29 16:41:03

    赛后补题

    类比知道a+b,b+c,c+d的情况求a,b,c。

    可以知道只要求出所有数据之和,再减去两倍的下标为奇数的数据即可求出最后一位。

    然后根据最后一位倒推即可。

    #include <bits/stdc++.h>
    using namespace std;
    
    signed main()
    {
        int n;
        cin>>n;
        int l[100001],ans[100001],al=0;
        for(int i=1;i<=n;i++){
            cin>>l[i];
            al+=l[i];
        }
        int lll=0;
        for(int i=1;i<n;i+=2){
            lll+=l[i];
        }
        lll*=2;
        ans[n]=al-lll;
        for(int i=n-1;i>=2;i--){
            ans[i]=2*l[i]-ans[i+1];
        }
        ans[1]=l[n]*2-ans[n];
        for(int i=1;i<n;i++){
            cout<<ans[i]<<" ";
        }
        cout<<ans[n];
    }
    

    信息

    ID
    835
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    递交数
    285
    已通过
    36
    上传者