Pagini recente » Cod sursa (job #2831907) | Cod sursa (job #2299561) | Cod sursa (job #1355633) | Cod sursa (job #566767) | Cod sursa (job #2835557)
#include <stdio.h>
#include <stdlib.h>
int get1(int *days, int start, int end) {
int sum = 0;
for (int i = start; i <= end; ++i) {
sum += days[i];
}
return sum;
}
void update1(int *days, int day, int value) {
days[day] -= value;
}
int main() {
char *inFileName = "datorii.in";
char *outFileName = "datorii.out";
FILE *in = fopen(inFileName, "r");
if (in == NULL) {
printf("Cannot open %s.\n", inFileName);
return 1;
}
FILE *out = fopen(outFileName, "w");
int n, m;
fscanf(in, "%d %d", &n, &m);
int *days = (int *) malloc((n + 1) * sizeof(int));
for (int i = 1; i <= n; ++i) {
fscanf(in, "%d", days + i);
}
for (int i = 0; i < m; ++i) {
int op, num1, num2;
fscanf(in, "%d %d %d", &op, &num1, &num2);
if (op) {
fprintf(out, "%d\n", get1(days, num1, num2));
} else {
update1(days, num1, num2);
}
}
fclose(in);
fclose(out);
return 0;
}