//prefix Sum void pSum(ll a[], ll n, ll pSum[]) { pSum[0] = 0; for (int i = 0; i < n; i++) pSum[i + 1] = pSum[i] + a[i]; }//Time Complexity: O(n) int main() { int n; cin >> n; ll a[n], p[n + 1]; for (int i = 0; i < n; ++i) { cin >> a[i]; } pSum(a, n, p); } --------------------------------------------------------------------------------------------------- //to sum part of array //1- choose left index (L) and right (R); //2- use prefix Sum array prefix[R]−prefix[L−1] //prefixSum(L-1 --> R) if array based 1 prefix[R]−prefix[L] //prefixSum(L --> R) if orginal array based 0 ---------------------------------------------------------------------------------------------------