Cod sursa(job #592305)

Utilizator DanutSavuSavu Daniel DanutSavu Data 27 mai 2011 18:31:35
Problema Datorii Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.75 kb
/*Problema "Datorii" de pe infoarena, rezolvata naiv.*/
#include <stdio.h>
#define INPUT_FILE "datorii.in"
#define OUTPUT_FILE "datorii.out"
#define MAX 15000
int main()
{
	int A[MAX], B[MAX], n, m, i, t, v, p, q, cod, S;
	freopen(INPUT_FILE, "r", stdin);
	freopen(OUTPUT_FILE, "w", stdout);
	scanf("%d %d", &n, &m);
	S = 0;
	for(i = 0; i < n; i++)
	{
		scanf("%d", &A[i]);
		S += A[i];
		B[i] = S;
	}
	while(m > 0)
	{
		/*citeste operatie*/
		scanf("%d", &cod);
		switch(cod)
		{
		case 0:
			scanf("%d %d", &t, &v);
			for(i = t - 1; i < n; i++)
				B[i] -= v;
			break;
		case 1:
			scanf("%d %d", &p, &q);
			S = B[q - 1] - ((p>1)?B[p - 2]:0);
			printf("%d\n", S);
			break;
		}
		/*executa operatia*/
		m--;
	}
	return 0;
}