题解:P12006 【MX-X10-T2】[LSOT-4] 网易云

· · 题解

前言

题目背景还是太超标了,跟我的年度曲风一模一样。

被做局了。

解题思路

过程分析

最终计算

是不是觉得很难?

其实主要代码只有 7 行,已经很简便了。

代码实现

前面讲的思路很详细,就不加注释了。

#include <bits/stdc++.h>
using namespace std;
#define int long long
int s[100010],sum[100010],n,m,a,b,A,B;
signed main(){
    cin>>n>>m;
    for(int i=1;i<n;i++){
        cin>>s[i];
        sum[i]=sum[i-1]+((i%2==1)?s[i]:-s[i]);
    }
    for(int i=0;i<m;i++){
        cin>>a>>b;
        A+=((a%2==1)?1:-1)*b;
        if(a>1){
            B+=b*((a%2==1)?sum[a-1]:-sum[a-1]);
        }
    }
    if(A!=0){
        cout<<"Impossible";
    }else{
        cout<<-B;
    }
    return 0;
}

~一下秒了。~

update:2025.8.3 发现格式不太好看,改了亿点。