Cod sursa(job #716972)

Utilizator bluestuffPetrean Miream bluestuff Data 19 martie 2012 14:23:37
Problema Datorii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<stdio.h>
int n,m,A[15001],s;
FILE *g=fopen("datorii.out","w");

int main(void)
{
	FILE *f=fopen("datorii.in","r");
	fscanf(f,"%d%d",&n,&m);
	int i,a,b,c,j;
	long long k;
	for(i=1;i<=n;i++)
	{
		fscanf(f,"%d",&A[i]);
		s+=A[i];
	}
	for(i=1;i<=m;i++)
	{
		fscanf(f,"%d%d%d",&a,&b,&c);
		if(a==0)
		{
			A[b]-=c;
			s-=c;
		}
		else
		{
			k=0;
			if(b+1-c<b-1+n-c)
				for(;b<=c;b++)
					k+=A[b];
			else
			{
				for(j=1;j<b;j++)
					k+=A[j];
				for(j=c+1;j<=n;j++)
					k+=A[j];
				k=s-k;
			}
			fprintf(g,"%d\n",k);
		}
	}
	fclose(g);
	return 0;
}