Pagini recente » Cod sursa (job #1273163) | Cod sursa (job #2306629) | Cod sursa (job #383866) | Cod sursa (job #1329436) | Cod sursa (job #2754330)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("kami.in");
ofstream fout("kami.out");
#define NMAX 100010
int n, zapadaNivele[NMAX], maxZapada;
int avalansa(int x) {
int zapadaSum = zapadaNivele[x];
for (int i = x - 1; i >= 1; --i) {
if (zapadaNivele[i] >= zapadaSum) return i;
if (zapadaSum > maxZapada) return 0;
zapadaSum += zapadaNivele[i];
}
return 0;
}
int main() {
int m, op, poz, val;
fin >> n;
for (int i = 1; i <= n; i++) {
fin >> zapadaNivele[i];
maxZapada = max(maxZapada, zapadaNivele[i]);
}
fin >> m;
for (int i = 1; i <= m; i++) {
fin >> op;
if (op == 0) {
fin >> poz >> val;
zapadaNivele[poz] = val;
maxZapada = max(maxZapada, val);
}
if (op == 1) {
fin >> poz;
fout << avalansa(poz) << '\n';
}
}
}