Pagini recente » Cod sursa (job #2498521) | Cod sursa (job #1802215) | Cod sursa (job #1324638) | Cod sursa (job #1453155) | Cod sursa (job #1899642)
#include <stdio.h>
#include <vector>
using namespace std;
int main()
{
FILE *fin, *fout;
fin = fopen("aib.in","r");
fout = fopen("aib.out","w");
int n, m, q, x, y;
vector <int> a;
fscanf(fin, "%d %d", &n, &m);
a.resize(n);
for (int i = 0; i < a.size(); i++)
fscanf(fin, "%d ", &a[i]);
for (int i = 0; i < m; i++)
{
fscanf(fin, "%d %d", &q, &x);
if (q != 2) fscanf(fin, "%d ", &y);
if (q == 0) a[--x] += y;
if (q == 1)
{
int s = 0;
for (int i = x - 1; i < y; i++) s += a[i];
fprintf(fout, "%d\n", s);
}
if (q == 2)
{
int s = 0, i;
for (i = 0; s < x; i++)
s += a[i];
if (s == x) fprintf(fout, "%d\n", i);
else fprintf(fout, "-1\n");
}
}
}