处理? 前缀和
提取公因式 然后模拟?
#include<iostream>
using namespace std;
const int N=2e5+10;
long long ?a[N];
long long ?b[N],s[N];
int main(){
?? ?int n;
?? ?cin>>n;
?? ?a[0]=0;
?? ?for(int i=1;i<=n;i++){
?? ??? ?cin>>a[i];
?? ??? ?
?? ??? ?s[i]=s[i-1]+a[i];//前缀和
?? ?}
?? ?long long ?ans=0;
? ? ?long long ?j=2;
?? ?for(int i=1;i<n;i++){
?? ??? ?
?? ??? ?if(j<=n){
?? ??? ??? ?ans+=a[i]*(s[n]-s[j-1]);
?? ??? ??? ?j++;
?? ??? ?}
? ? ? ??
?? ?}
?? ?cout<<ans;
?? ?
?? ?return 0;?
}