Pagini recente » Cod sursa (job #775012) | Cod sursa (job #2113055) | Cod sursa (job #721967) | Cod sursa (job #2370377) | Cod sursa (job #3134269)
#include <iostream>
#include <fstream>
//std::ifstream fin("C:\\Users\\DelMX\\OneDrive\\Sharing\\tema-sd-3\\datorii.in");
//std::ofstream fout("C:\\Users\\DelMX\\OneDrive\\Sharing\\tema-sd-3\\datorii.out");
std::ifstream fin("datorii.in");
std::ofstream fout("datorii.out");
int n, m, x;
int v[150000];
int main() {
fin >> n >> m;
for (int i = 0; i < n; i++) {
fin >> x;
int p = i + 1;
while (p <= n) {
v[p] += x;
p = p + (p&(-p));
}
}
for (int i = 0; i < m; i++) {
int a, b;
fin >> x >> a >> b;
if (x == 0) {
while (a <= n) {
v[a] -= b;
a = a + (a&(-a));
}
}
else {
int s1 = 0, s2 = 0;
while (b > 0) {
s1 += v[b];
b = b - (b&(-b));
}
a--;
while (a > 0) {
s2 += v[a];
a = a - (a&(-a));
}
// std::cout << s1 - s2 << "\n";
fout << (s1 - s2) << "\n";
}
}
return 0;
}