#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 2e5 + 2;
const int inf = 1e15;
const int mod = 1e9 + 7;
int T = 1, a[N], t[4 * N] , p[N];
void build(int v, int tl, int tr)
{
if (tl == tr)
{
t[v] = a[tl];
return;
}
int mid = (tl + tr) / 2;
build(v + v, tl, mid);
build(v + v + 1, mid + 1, tr);
t[v] = t[v + v] + t[v + v + 1];
}
void upd(int v, int tl, int tr, int pos, int x)
{
if (tl == tr)
{
t[v] = x;
return;
}
int mid = (tl + tr) / 2;
if (pos <= mid)
upd(v + v, tl, mid, pos, x);
else
upd(v + v + 1, mid + 1, tr, pos, x);
t[v] = t[v + v] + t[v + v + 1];
}
signed main()
{
int n, k;
cin >> n >> k;
for (int i = 0; i < n; i++)
{
cin >> a[i];
}
p[0] = 0;
for (int i = 1; i <= n; i++)
{
p[i] = p[i - 1] + a[i - 1];
}
int q;
cin >> q;
while (q--)
{
int type;
cin >> type;
if (type == 1)
{
continue;
}
else
{
int l, r, m;
cin >> l >> r >> m;
int sum = 0, S = 0;
for (int i = l; i < l + m; i++)
{
S += a[i];
}
sum += S;
for (int i = l + m; i <= r; i++)
{
S = S - a[i - m] + a[i];
sum += S;
}
cout << sum << endl;
}
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |