CSES - Datatähti 2022 alku - Results
Submission details
Task:Spiraali (Spiral)
Sender:Juho
Submission time:2021-10-06 19:13:36
Language:C++11
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED15
#2ACCEPTED20
#3ACCEPTED65
Test results
testverdicttimegroup
#1ACCEPTED0.01 s1details
#2ACCEPTED0.01 s2details
#3ACCEPTED0.01 s3details

Code

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

long n, t, muisti, x, y, vastaus;

int main() {
    cin>>n>>t;
    for(int i=0;i<t;i++){
        cin>>y>>x;
        x -= n/2;
        y -= n/2;
        if(x>0){
            if(y>0){
                muisti= max(x, y);
                vastaus=n*n-4*muisti*muisti;
                vastaus += 3*muisti-1+x + muisti-y;
                cout<<vastaus<<"\n";
            }else{
                muisti= max(x, 1-y);
                vastaus=n*n-4*muisti*muisti;
                vastaus += 5*muisti -2+ muisti-x+1-y;
                cout<<vastaus<<"\n";
            }
        }else{
            if(y>0){
                muisti= max(1-x, y);
                vastaus=n*n-4*muisti*muisti;
                vastaus += muisti+y + muisti-1+x;
                cout<<vastaus<<"\n";
            }else{
                muisti= max(1-x, 1-y);
                vastaus=n*n-4*muisti*muisti;
                if(muisti==1-x){
                    vastaus += muisti+y;
                }else{
                    vastaus += 7*muisti-2-x;
                }
                cout<<vastaus<<"\n";
            }
        }
    }
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
10 100
1 1
1 2
1 3
1 4
...

correct output
1
36
35
34
33
...

user output
1
36
35
34
33
...

Test 2

Group: 2

Verdict: ACCEPTED

input
1000 1000
371 263
915 322
946 880
53 738
...

correct output
773533
312166
206053
200080
593922
...

user output
773533
312166
206053
200080
593922
...

Test 3

Group: 3

Verdict: ACCEPTED

input
1000000000 1000
177757853 827347032
409613589 419171337
739269360 256524697
328695530 896842209
...

correct output
571375684522141210
967321186816598569
762879105851175000
370065046779516790
936897883750373771
...

user output
571375684522141210
967321186816598569
762879105851175000
370065046779516790
936897883750373771
...