Pagini recente » Cod sursa (job #688308) | Cod sursa (job #655469) | Cod sursa (job #981614) | Monitorul de evaluare | Cod sursa (job #3357370)
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream in("aib.in");
ofstream out("aib.out");
int N, M;
in >> N >> M;
vector<int> A(N);
for (int i = 0; i < N; ++i) {
in >> A[i];
}
for (int i = 0; i < M; ++i) {
int type, a, b;
in >> type >> a >> b;
if (type == 0) {
A[a] += b;
} else if (type == 1) {
out << (A[b] - A[a - 1]) << '\n';
} else {
int k = 0;
for (int i = a; i < N && k < 231; ++i, ++k) {
if (A[i] == A[a - 1]) {
out << k << '\n';
break;
}
}
if (k == 231) {
out << "-1\n";
}
}
}
return 0;
}