CSES - DatatÃ¤hti 2022 alku - Results
 Task: Spiraali Sender: AnttiE Submission time: 2021-10-05 17:58:48 Language: PyPy3 Status: READY Result: 35
Feedback
groupverdictscore
#1ACCEPTED15
#2ACCEPTED20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.04 s1details
#2ACCEPTED0.10 s2details
#3--3details

### Code

```# meni moti nodeen joten python aika

def dist(r1, c1, r2, c2):
return abs(r2 - r1) + abs(c2 - c1)

def solve(size, r, c):
centers = [
(size / 2, 1, 0), # left
(size, size / 2, 1), # bottom
((size / 2) + 1, size, 2), # right
(1, (size / 2) + 1, 3) # top
]
for center in centers:
if dist(center[0], center[1], r, c) <= (size / 2) - 1:
ans = None
if center[2] == 0:
ans = 0
for i in range(c - 1):
ans += (size - 1 - (i * 2)) * 4
ans += r - (c - 1)
elif center[2] == 1:
ans = size - 1
for i in range(size - r):
ans += (size - 1 - (i * 2)) * 4 - 2
ans += c - (size - r)
elif center[2] == 2:
ans = (size - 1) * 2
for i in range(size - c):
ans += (size - 1 - (i * 2)) * 4 - 4
ans += (size - r) - (size - c) + 1
elif center[2] == 3:
ans = (size - 1) * 3
for i in range(r - 1):
ans += (size - 1 - (i * 2)) * 4 - 7
ans += (size - c) + 1
return ans

[size, count] = [int(x) for x in input().split(" ")]

tests = [[int(x) for x in input().split(" ")] for _ in range(count)]

for test in tests:
print(solve(size, test[0], test[1]))
```

### 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)