Cod sursa(job #1246541)

Utilizator DoomburgerCojocaru Andrei Doomburger Data 21 octombrie 2014 11:32:20
Problema Datorii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <stdio.h>
#include <stdlib.h>
using namespace std;

void achitare(int zi, int suma, int datorii[])
{
    datorii[zi] -= suma;
}

int interogare(int p, int q, int datorii[])
{
    int i, suma = 0;

    for (i = p; i <= q; i++)
        suma += datorii[i];

    return suma;
}

int main()
{
    FILE *output, *input;
    int i, zile, operatii, datorii[15001], numar1, numar2;
    unsigned short operatie;

    output = fopen("datorii.out", "w");
    input = fopen("datorii.in", "r");

    fscanf(input, "%d", &zile);
    fscanf(input, "%d", &operatii);

    for (i = 1; i <= zile; i++)
        fscanf(input, "%d", &datorii[i]);

    for (i = 0; i < operatii; i++)
    {
        fscanf(input, "%d", &operatie);
        fscanf(input, "%d", &numar1);
        fscanf(input, "%d", &numar2);

        if (operatie == 0)
            achitare(numar1, numar2, datorii);

        else
            fprintf(output, "%d\n", interogare(numar1, numar2, datorii));
    }

    fclose(output);
    fclose(input);
}