Cod sursa(job #385226)

Utilizator remusmpRemus MP remusmp Data 22 ianuarie 2010 13:05:16
Problema Datorii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#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;
}