Cod sursa(job #379010)

Utilizator valentinroscaRosca Valentin valentinrosca Data 30 decembrie 2009 12:04:59
Problema Datorii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include<fstream.h>
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int n,m,d,tp,qv,i,j,sa,s,v[15001];
int sum(int yu,int mn)
{
	sa=0;
	while((yu<tp+(qv-tp+1)/2)&&(mn>qv-(qv-tp+1)/2))
	{
		sa=sa+v[yu]+v[mn];
		yu++;
		mn--;
	}
	if((qv-tp+1)%2==1)
		sa=sa+v[(qv-tp+1)/2+1];
	return sa;
}
int main()
{
	fin>>n>>m;
	for(i=1;i<=n;i++)
		fin>>v[i];
	for(i=1;i<=m;i++)
	{
		fin>>d>>tp>>qv;
		if(d==1)
			fout<<sum(tp,qv)<<'\n';
		else
			v[tp]=v[tp]-qv;
	}
	return 0;
}