Cod sursa(job #385226)
#include <stdio.h>
int main()
{
FILE* fin = fopen("datorii.in", "r");
FILE* fout = fopen("datorii.out", "w");
int zile[15001];
int N, M;
fscanf(fin, "%d %d", &N, &M);
zile[0] = 0;
for (int i = 1; i <= N; i++)
{
fscanf(fin, "%d", &zile[i]);
}
int A, B, C;
int sum[15001];
sum[0] = 0;
for (int i = 1; i <= N; i++)
{
sum[i] = sum[i-1] + zile[i];
}
for (int i = 0; i < M; i++)
{
fscanf(fin, "%d %d %d", &A, &B, &C);
if (A == 0)
{
zile[B] -= C;
for (int j = B; j <= N; j++)
{
sum[j] -= C;
}
}
else
{
fprintf(fout, "%d\n", sum[C] - sum[B-1]);
}
}
fclose(fin);
fclose(fout);
return 0;
}