/ Randle /

记录详情

Memory Exceeded

/in/foo.cc: In function 'int main()':
/in/foo.cc:48:6: warning: unused variable 'T' [-Wunused-variable]
  int T,x,y;
      ^
# 状态 耗时 内存占用
#1 Memory Exceeded ≥1041ms ≥256.0 MiB
#2 Time Exceeded ≥1004ms ≥255.602 MiB

代码

#include<bits/stdc++.h>
#define maxn 1024
using namespace std;
typedef long long ll;
int n,k,m,v[10025][10025];
inline const void read(int &a)
{
	a=0;
	char c=getchar();
	while(c>'9'||c<'0') c=getchar();
	while(c>='0'&&c<='9')
	{
		a=(a<<1)+(a<<3)+c-'0';
		c=getchar();
	}
}
void add(int x,int y,ll c)
{
	while(x<=maxn)
	{
		int y1=y;
		while(y1<=maxn)
		{
			v[x][y1]+=c;
			y1+=(y1&-y1);
		}
		x+=(x&-x);
	}
}
ll sum(int x,int y)
{
	ll ans=0;
	while(x)
	{
		int y1=y;
		while(y1)
		{
			ans+=v[x][y1];
			y1-=(y1&-y1);
		}
		x-=(x&-x);
	}
	return ans;
}
int main()
{
	memset(v,0,sizeof(v));
	int T,x,y;
	read(n);read(m); 
	for(int i=1;i<=n;i++)
	{
	    read(x);read(y);read(k);
		add(x,y,k);
	}
	for(int i=1;i<=m;i++)
	{
		int x1,x2,y1,y2;
		read(x1);read(y1);read(x2);read(y2);
		ll ans1=sum(x1-1,y1-1),ans2=sum(x2,y2),ans3=sum(x1-1,y2),ans4=sum(x2,y1-1);
		ll ans=ans2+ans1-ans3-ans4;
		cout<<ans<<endl;
	}
	return 0;
} 

信息

递交者
类型
递交
题目
老C的任务
题目数据
下载
语言
C++
递交时间
2017-10-14 11:22:30
评测时间
2017-10-14 11:22:30
评测机
分数
0
总耗时
≥2046ms
峰值内存
≥256.0 MiB