Code Submission Evaluation System Login

BOI 2016, day 1

Start:2016-05-12 09:00:00
End:2016-05-12 14:00:00
 

Tasks | Scoreboard | Statistics


CSES - BOI 2016, day 1 - Results
History
2016-05-12 12:21:3127
2016-05-12 12:20:1412
2016-05-12 12:17:520
Task:Spiral
Sender:MaxMeijer
Submission time:2016-05-12 12:21:31
Language:C++
Status:READY
Score:27

Feedback

groupverdictscore
#1ACCEPTED12
#2ACCEPTED15
#3TIME LIMIT EXCEEDED0
#4TIME LIMIT EXCEEDED0
#5TIME LIMIT EXCEEDED0

Test results

testverdicttime (s)group
#1ACCEPTED0.34 / 1.501details
#2ACCEPTED0.04 / 1.502details
#3TIME LIMIT EXCEEDED-- / 1.503details
#4TIME LIMIT EXCEEDED-- / 1.504details
#5TIME LIMIT EXCEEDED-- / 1.505details

Code

#include <iostream>
#define MOD 1000000007
using namespace std;
long long valueAt(long long x,long long y){
    if(y<0&&x<=-y&&x>=y){
        return (4*y-3)%MOD*y+1+x;
    }else if(x>0&&y<=x&&y>-x){
        return (4*x-3)%MOD*x+1+y;
    }else if(y>0&&x<=y&&x>=-y){
        return (4*y-1)%MOD*y+1-x;
    }else{
        return (4*x-1)%MOD*x+1-y;
    }
}
int main(){
    int n,q;
    cin>>n>>q;
    for(int i=0;i<q;i++){
        long long x1,y1,x2,y2;
        cin>>x1>>y1>>x2>>y2;
        long long result=0;
        for(long long x=x1;x<=x2;x++){
            for(long long y=y1;y<=y2;y++){
                result+=valueAt(x,y);
                result%=MOD;
            }
        }
        cout<<result<<endl;
    }
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
1000 100
-709 0 1000 123
-621 -1000 -102 -435
-602 -560 276 -356
-945 -590 0 -468
...
view   save

correct output
788057008
633127082
507903329
53165899
558016315
...
view   save

user output
788057008
633127082
507903329
53165899
558016315
...
view   save

Test 2

Group: 2

Verdict: ACCEPTED

input
1000000000 100
181053719 1000000000 181053719...
view   save

correct output
818946492
750635163
193830026
660632411
46072376
...
view   save

user output
818946492
750635163
193830026
660632411
46072376
...
view   save

Test 3

Group: 3

Verdict: TIME LIMIT EXCEEDED

input
100000 100
-88233 -87279 -49871 52277
-86645 -7997 48948 30702
-79916 -36210 -21257 -16821
0 57331 93163 100000
...
view   save

correct output
986592951
708386765
85336595
18263594
32233727
...
view   save

user output
(empty)

Test 4

Group: 4

Verdict: TIME LIMIT EXCEEDED

input
1000000000 100
1 1 21134200 719983102
1 1 929463279 1000000000
1 1 68450838 1
1 1 84417340 297177199
...
view   save

correct output
695961158
957360176
137575768
522232140
58884045
...
view   save

user output
(empty)

Test 5

Group: 5

Verdict: TIME LIMIT EXCEEDED

input
1000000000 100
-857489445 -1000000000 -432836...
view   save

correct output
902627632
581519884
819269364
857298983
278402948
...
view   save

user output
(empty)