Submission #262376

#TimeUsernameProblemLanguageResultExecution timeMemory
262376TadijaSebezSpiral (BOI16_spiral)C++11
27 / 100
1590 ms256 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int mod=1e9+7;
ll GetCell(int x,int y){
	ll mx=max(abs(x),abs(y));
	ll ans=(2*mx-1)*(2*mx-1)%mod;
	if(y==mx)ans+=mx-x+mx*2;
	else if(x==-mx)ans+=mx-y+mx*4;
	else if(y==-mx)ans+=x+mx+mx*6;
	else if(x==mx)ans+=y+mx;
	return ans%mod;
}
int main(){
	int n,q;
	scanf("%i %i",&n,&q);
	while(q--){
		int x1,y1,x2,y2;
		scanf("%i %i %i %i",&x1,&y1,&x2,&y2);
		ll ans=0;
		for(int x=x1;x<=x2;x++)
			for(int y=y1;y<=y2;y++)
				(ans+=GetCell(x,y))%=mod;
		printf("%lld\n",ans);
	}
	return 0;
}

Compilation message (stderr)

spiral.cpp: In function 'int main()':
spiral.cpp:16:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   16 |  scanf("%i %i",&n,&q);
      |  ~~~~~^~~~~~~~~~~~~~~
spiral.cpp:19:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   19 |   scanf("%i %i %i %i",&x1,&y1,&x2,&y2);
      |   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...