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