比赛 ZLXOI2015Day1 评测结果 WWWWWWWWWW
题目名称 虐狗大赛 最终得分 0
用户昵称 The laster 运行时间 0.266 s
代码语言 C++ 内存使用 1.84 MiB
提交时间 2015-10-29 10:37:58
显示代码纯文本
#define SLM_CODE
#include <iostream>
#include <cstdio>
#include <cmath>
#define M 100010
using namespace std;
int n,m,q;
int c[M],c_[M],h[M],D[M];
int lowbit(int x)
{
	return x&-x;
}
void add(int x,int d)
{
	while(x!=0)
	{
		c[x]+=d;
		x-=lowbit(x);
	}
}
void add_(int x,int d)
{
	while(x!=0)
	{
		c_[x]+=d;
		x-=lowbit(x);
	}
}
int query(int x)
{
	int ans=0,y=x;
	while(x<=n)
	{
		ans=ans+c[x]+c_[x]*D[y];
		x<<=1;
	}
	return ans;
}
int main()
{
	#ifdef SLM_CODE
	freopen("thebigmatch.in","r",stdin);
	freopen("thebigmatch.out","w",stdout);
	#endif
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
		scanf("%d",&h[i]);
	for(int i=1;i<=n;i++)
		scanf("%d",&D[i]);
	scanf("%d",&q);
	for(int l=1;l<=q;l++)
	{
		int p;
		scanf("%d",&p);
		if(p==0)
		{
			int i,j,k;
			scanf("%d%d%d",&i,&j,&k);
			add(i-1,k);
			add(j,-k);
			add_(i-1,-1);
			add_(j,1);
		}
		else
		{
			for(int o=1;o<=n;o++)
			printf("%d ",h[o]+query(o));
			printf("\n");
		}
	/*	cout<<"{"<<endl;
		cout<<endl;
		for(int i=1;i<=n;i++)
		cout<<c[i]<<" "<<c_[i]<<endl;
		cout<<endl;
		cout<<"}"<<endl;*/
	}
	return 0;
}