This commit is contained in:
DarianTr
2024-06-18 16:14:25 +02:00
parent aff545a59f
commit 6df87160fe

View File

@@ -0,0 +1,38 @@
//
// Created by darian on 18.06.24.
//
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
void update_range(int a, int b, ll k, vector<ll> &dif) {
dif[a] += k;
if (b != dif.size() - 1) {
dif[b+1] -= k;
}
}
int main() {
int n, q; cin >> n >> q;
vector<ll> input(n);
vector<ll> difference;
for (auto &e: input){
cin >> e;
if (difference.size()) difference.push_back(e - input.back());
else difference.push_back(e);
}
for (int i{}; i < q; i++) {
int t; cin >> t;
if (t == 1) {
int a, b; ll u; cin >> a >> b >> u;
a--; b--;
update_range(a, b, u, difference);
}
}
}