Pagini recente » Cod sursa (job #1130954) | Cod sursa (job #503957) | Cod sursa (job #1994375) | Cod sursa (job #178089) | Cod sursa (job #1504272)
#include <stdio.h>
#include <stdlib.h>
#define MX 100000
#define and &&
typedef unsigned uint;
FILE *in, *out;
uint n, m, v[MX], i, j, a, b, s;
int main()
{
in = fopen("aib.in", "r");
out = fopen("aib.out", "w");
fscanf(in, "%u %u\n", &n, &m);
for (i = 0; i < n; ++i) fscanf(in, "%u", &v[i]);
for (i = 0; i < m; ++i)
{
fscanf(in, "%u", &a);
switch (a)
{
case 0:
{
fscanf(in, "%u %u", &a, &b);
v[a - 1] += b;
}
break;
case 1:
{
fscanf(in, "%u %u", &a, &b);
s = 0;
for (j = a - 1; j < b; ++j) s += v[j];
fprintf(out, "%u\n", s);
}
break;
case 2:
{
fscanf(in, "%u", &a);
s = 0;
for (j = 0; j < n and s <= a; ++j)
{
s += v[j];
if (s == a)
{
fprintf(out, "%u\n", j + 1);
break;
}
}
}
break;
}
}
fclose(in);
fclose(out);
return 0;
}