P8772 [蓝桥杯 2022 省 A] 求和

前缀和走起

#include <bits/stdc++.h>
using namespace std;

#define int long long

const int N=2e5+7;

int n;
int a[N];
int sum[N],ans;

signed main(){

    cin>>n;
    for(int i=1;i<=n;i++){
    cin>>a[i];
    sum[i]=sum[i-1]+a[i];   //预处理前缀和
    }
    for(int i=1;i<=n;i++)
    ans+=a[i]*(sum[n]-sum[i]);  //按照题目描述找规律
    
    cout<<ans;

   return 0;
   }
posted @ 2024-05-27 20:27  LTphy  阅读(57)  评论(0)    收藏  举报