Префиксные суммы

Всем привет! Недавно решил повторить темы которые проходил, одной из них оказались префиксные суммы. Нашел контест на codeforces (https://codeforces.com/group/1rv4rhCsHp/contest/319055/problem/A), первая задача:

вот мой код, и на 44 тесте говорит что превышен лимит времени

#include <iostream>
#include <vector>
#define ll long long
using namespace std;

vector <ll> prefixSum(vector<ll> a) {
    vector<ll> b(a.size() + 1,0);
    for (ll i = 0; i < a.size(); ++i) {
        b[i+1] = b[i] + a[i];
    }
    return b;
}

int main() {
    ll n,l,r,q;
    cin >> n;
    vector <ll> arr(n+1,0);
    for (ll i = 0 ; i < n; ++i) {
        cin >> arr[i];
    }
    cin >> q;
    vector <ll> prefArr = prefixSum(arr);
    for (ll i = 0; i < q; ++i) {
        cin >> l >> r;
        cout << prefArr[r] - prefArr[l-1] << '\n';
    }
    return 0;
}

Ответы (0 шт):