CSES - Datatähti 2022 alku - Results
Submission details
Task:Spiraali (Spiral)
Sender:Lexa_ft
Submission time:2021-10-09 18:00:45
Language:PyPy3
Status:READY
Result:35
Feedback
groupverdictscore
#1ACCEPTED15
#2ACCEPTED20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.04 s1details
#2ACCEPTED0.13 s2details
#3--3details

Code

rawin=input().split(" ")
n=int(rawin[0])
hn=int(n/2)
ma=n**2
t=int(rawin[1])


ans=[]


for i in range(t):
    rawin=input().split(" ")
    y=int(rawin[0])
    x=int(rawin[1])


    
    if(x==1):
        ans.append(y)

    elif(y==n):
        ans.append(n+x-1)

    elif(x<n-y+2):
        neq=4
        save=4
        
        if(y<=x-1):
            corn=hn-y-1
            if(corn==-1):
                neq=0
            for j in range(corn):
                neq+=save+8
                save+=8
                
            ans.append(ma-neq-x+y+1)

        else:
            corn=hn-x
            if(corn==-1):
                neq=0
            for j in range(corn):
                neq+=save+8
                save+=8

            ans.append(ma-neq-x+y+1)

    else:
        neq=0
        save=0
        
        if(y>=x):
            corn=y-hn-1
            if(corn==-1):
                neq=0
            for j in range(corn):
                neq+=save+8
                save+=8
                
            ans.append(ma-neq-(y-hn)+(x-hn-1))

        else:
            corn=x-hn-1
            if(corn==-1):
                neq=0
            for j in range(corn):
                neq+=save+8
                save+=8

            ans.append(ma-neq-(y-hn)+(x-hn-1))
    
        
         
for a in ans:
    print(a)

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:

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

correct output
571375684522141210
967321186816598569
762879105851175000
370065046779516790
936897883750373771
...

user output
(empty)