Pagini recente » Cod sursa (job #601231) | Cod sursa (job #278793) | Cod sursa (job #113125) | Cod sursa (job #1340017) | Cod sursa (job #3134256)
#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[15000];
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));
}
}
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));
}
}
else {
int s1 = 0, s2 = 0;
while (b > 0) {
s1 += v[b];
b -= (b&(-b));
}
a--;
while (a > 0) {
s2 += v[a];
a -= (a&(-a));
}
// std::cout << s1 - s2 << "\n";
fout << s1 - s2 << "\n";
}
}
return 0;
}