Pagini recente » Cod sursa (job #3285697) | Cod sursa (job #2242582) | Cod sursa (job #1609203) | Cod sursa (job #2611849) | Cod sursa (job #2963129)
#include <iostream>
#include <fstream>
#include <vector>
int main() {
std::ifstream input("aib.in");
std::ofstream output("aib.out");
int n, m;
input >> n >> m;
std::vector<int> v(n + 1);
for (int i = 1; i <= n; ++i) {
input >> v[i];
}
while (m--) {
int q;
input >> q;
if (q == 0) {
int a, b;
input >> a >> b;
v[a] += b;
} else if (q == 1) {
int a, b, s = 0;
input >> a >> b;
for (int i = a; i <= b; ++i) {
s += v[i];
}
output << s << '\n';
} else if (q == 2) {
int a, s = 0;
input >> a;
int pos = 1;
while (pos <= n && s != a) {
if (pos > n) break;
s += v[pos];
pos++;
}
if (s == a) pos--;
if (pos > n) pos = -1;
output << pos << '\n';
}
}
return 0;
}