D-ABS SUM(技術室奥プログラミングコンテスト#6 Day1)

f:id:peroon:20210824131430p:plain

int main(){
    cin.tie(0);
    ios::sync_with_stdio(false);

    // input
    ll N;
    cin>>N;

    VI A(N);
    rep(i, N){
      cin >> A[i];
    }

    VI B(N+1);
    rep(i,N){
      B[i+1] = A[i];
    }
    rep(i,N){
      B[i+1] += B[i];
    }
    SORT(B);

    mint sum=0;
    FOR(i,1,N+1){
      sum += i*(B[i]%mod); // mod必要!(overflow)
    }
    rep(i,N){
      sum -= (B[i]%mod)*(N-i); // mod必要!(overflow)
    }
    p(sum.x);
    
    return 0;
}