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

Code

inn = input().split(' ')
n = int(inn[0])
t = int(inn[1])
 
summat = []
last = n
 
for i in range(n//2):
    p = last+last-1+last-1+last-2
 
    if len(summat) > 0:
        p = summat[i-1]+p
 
    summat.append(p)
    last -= 2
 
summat=[0]+summat
 
for _ in range(t):
    inn = input().split(' ')
    y = int(inn[0])
    x = int(inn[1])
 
    nth = min(y, x)
 
    up = y-1
    bottom = n-y
    left = x-1
    right = n-x
 
    mins = min(up, bottom, left, right)
    nth = mins + 1
 
    result = summat[mins]
    last = n-(2*mins)
 
    if mins == left:
        print(result+(y-nth)+1)
        continue
 
    result += last
 
    if mins == bottom:
        print(result+(x-nth))
        continue
 
    result += last-1
 
    if mins == right:
        print(result+n-y-mins)
        continue
 
    result += last-1
 
    if mins == up:
        print(result+(n-x)-mins)
        continue

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)