CSES - Datatähti 2022 alku - Results
Submission details
Task:Spiraali
Sender:Waba
Submission time:2021-10-06 13:07:51 +0300
Language:Python3 (CPython3)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.02 s1details
#20.03 s2details
#30.03 s3details

Code

n, t = input().split()
n = int(n)
t = int(t)
list = []
for i in range (t):
y1, x1 = input().split()
x1 = int(x1)
y1 = int(y1)
list.append ([y1,x1])
for q in range (len(list)):
y = list[q][0]
x = list[q][1]
kierros = 0
summa = 0
if (y <= int(n/2) and x <= int(n/2)):
ky = (y-1)
kx = (x-1)
if (ky < kx):
kierros = ky
else:
kierros = kx
if (x==1+kierros):
summa = 0*(n-kierros*2)+y
else:
summa = 3*(n-kierros*2) -2 + ((n-kierros*2)-(x-kierros))
elif (y > int(n/2) and x <= int(n/2)):
ky = (n-y)
kx = x-1
if (ky < kx):
kierros = ky
else:
kierros = kx
if (x==1+kierros):
summa = 0*(n-kierros*2)+y
else:
summa = 1*(n-kierros*2) -0 + x
elif (y > int(n/2) and x > int(n/2)):
ky = (n-y)
kx = (n-x)
if (ky < kx):
kierros = ky
else:
kierros = kx
if (x==n-kierros):
summa = 2*(n-kierros*2)-1+(n-y)
else:
summa = 1*(n-kierros*2) -0 + x
else:
ky = (y-1)
kx = (n-x)
if (ky < kx):
kierros = ky
else:
kierros = kx
if (x==n-kierros):
summa = 2*(n-kierros*2)-1+(n-y)
else:
summa = 3*(n-kierros*2) -2 + ((n-kierros*2)-(x-kierros))
if (kierros > 0):
summa += (kierros+1) * ((4+8*((n/2)-(kierros-1)))) / 2
print(int(summa))

Test details

Test 1

Group: 1

Verdict:

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
...
Truncated

Test 2

Group: 2

Verdict:

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

correct output
773533
312166
206053
200080
593922
...

user output
252325
144428
100222
98190
234472
...
Truncated

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
226069751040100128
148094013635825728
249829716620749120
163749467088990176
18809923449917
...
Truncated