/ WOJ /

记录详情

Time Exceeded

/in/foo.cc: In function 'int main()':
/in/foo.cc:44:23: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
  while(classs=getchar()){
                       ^
# 状态 耗时 内存占用
#1 Time Exceeded ≥48ms ≥0 Bytes
#2 Time Exceeded ≥46ms ≥0 Bytes
#3 Time Exceeded ≥48ms ≥0 Bytes
#4 Time Exceeded ≥48ms ≥0 Bytes
#5 Time Exceeded ≥48ms ≥0 Bytes
#6 Time Exceeded ≥48ms ≥0 Bytes
#7 Time Exceeded ≥48ms ≥0 Bytes
#8 Time Exceeded ≥48ms ≥0 Bytes
#9 Time Exceeded ≥48ms ≥0 Bytes
#10 Time Exceeded ≥48ms ≥0 Bytes

代码

#include<bits/stdc++.h>
using namespace std;

int t1[2049][2049],t2[2049][2049],t3[2049][2049],t4[2049][2049],n,m,a,b,c,d,delta;

char classs;

inline int lowbit(register int sfgvdsfgv){
	return sfgvdsfgv&-sfgvdsfgv;
}

inline void add(register int x,register int y,register int z){
	for(register int X=x;X<=n;X+=lowbit(X))
		for(register int Y=y;Y<=m;Y+=lowbit(Y)){
			t1[X][Y]+=z;
			t2[X][Y]+=z*x;
			t3[X][Y]+=z*y;
			t4[X][Y]+=z*x*y;
		}
}

inline void range_add(register int xa,register int ya,register int xb,register int yb,register int z){
	add(xa,ya,z);
	add(xa,yb+1,-z);
	add(xb+1,ya,-z);
	add(xb+1,yb+1,z);
}

inline int ask(register int x,register int y){
	register int res=0;
	for(register int i=x;i;i-=lowbit(i))
		for(register int j=y;j;j-=lowbit(j))
			res+=(x+1)*(y+1)*t1[i][j]-(y+1)*t2[i][j]-(x+1)*t3[i][j]+t4[i][j];
	return res;
}

inline int range_ask(register int xa,register int ya,register int xb,register int yb){
	return ask(xb,yb)-ask(xb,ya-1)-ask(xa-1,yb)+ask(xa-1,ya-1);
}

int main(){
	ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
	cin>>classs>>n>>m;
	while(classs=getchar()){
		cin>>a>>b>>c>>d;
		if(classs=='L')
			cin>>delta,range_add(a,b,c,d,delta);
		else if(classs=='k')
			cout<<range_ask(a,b,c,d);
	}
	return 0;
}

信息

递交者
类型
递交
语言
C++
递交时间
2024-04-18 23:35:37
评测时间
2024-04-18 23:35:37
评测机
分数
0
总耗时
≥481ms
峰值内存
≥0 Bytes