# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
262376 | TadijaSebez | Spiral (BOI16_spiral) | C++11 | 1590 ms | 256 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |