Cod sursa(job #2605389)

Utilizator lepoartcevPaltineanu Rares-Mihai lepoartcev Data 24 aprilie 2020 20:36:07
Problema Datorii Scor 0
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>

void read(int* array, int n, int m, FILE* in) {


    for(int i = 1; i <= n; i++)
        fscanf(in, "%d ", &array[i]);

}

int sum(int* array, int start, int finish) {

    int s = 0;

    for(int i = start; i <= finish; i++)
        s += array[i];

    return s;

}

void readInstr(int* array, int n, int m, FILE* in, FILE* out) {


    int type, x, y;

    for(int i = 0; i < m; i++) {

        fscanf(in, "%d %d %d", &type, &x, &y);
        if(!type)
            array[x] -=y;
        else
            fprintf(out, "%d\n", sum(array, x, y));

    }

}

int main() {

    FILE* in = fopen("datorii.in", "r");
    FILE* out = fopen("datorii.out", "w");

    int n, m;


    fscanf(in, "%d %d", &n, &m);
    int* array = (int*)malloc(sizeof(int) * (n + 1));
    read(array, n, m, in);
    readInstr(array, n, m, in, out);
    return 0;

}