Cod sursa(job #696254)

Utilizator impulseBagu Alexandru impulse Data 28 februarie 2012 17:44:23
Problema Datorii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <stdio.h>
#include <iostream>
#define ifile "datorii.in", "r"
#define ofile "datorii.out", "w"
#define getf fscanf
#define putf fprintf
using namespace std;
FILE * f=fopen(ifile);
FILE * g=fopen(ofile);
#define NMax 15001
#define MMax 100001
int N, M;
int A[NMax];
int step1()
{
    getf(f, "%d %d", &N, &M);
    for(int i = 0; i < N; i++)
        getf(f, "%d", &A[i]);
    return 0;
}

int op0(int t, int v)
{
    A[t-1] -= v;
    return 0;
}
int op1(int p, int q)
{
    int sum = 0;
    for(int i = p-1; i < q; i++)
        sum += A[i];
    putf(g, "%d\n", sum);
    return 0;
}

int step2()
{
    for(int i = 0; i < M; i++)
    {
        int op, a, b;
        getf(f, "%d %d %d", &op, &a, &b);
        if(op) op1(a,b);
        else   op0(a,b);
    }
    return 0;
}

int main()
{
    step1();
    step2();
    return 0;
}