Can anyone please explain solution to walking man problem of yesterday lockdown test

its a past problem from RE contest. its editorial is available search for it.

Hope this help!

from math import ceil
for _ in range(int(input())):
	n,k=map(int,input().split())
	# if n==0 , it is found after 0,2,6,12,20,......
	if(n==0):
		p=k-1
		total=p*(p+1)
	
	
	else:
		# otherwise break the sequence like
	# 01 0121 012321 01234321 .....
	# you can see that length of n have the max element n//2
		m=n*2
		#so if for eg we want n=3 at k=2
	       # we find where it first occured using n*2
	       #and then we can see except the first occurrence
    	#later grouped sequence contain two occurences
	       # so we find in which group the elemnt present
		m=m+(k//2)*2
		# no we check how many groups are left behind the current one
		c=(m//2)-1
		# now if k is even then it present in start else in the end
		if(k%2==0):
			#if element at start answer will be
			# elemnt + sum of elements in previous gorups
			total=n+((c)*(c+1))
		else:
			# if element at end answer will be
			# total lenth of gorup - element + sum of elements in previous gorups
			total=(m-n)+((c)*(c+1))
	print(total)
  1. https://discuss.codechef.com/t/recndnum-editorial/63990
    2.Chef and Walk editorial (UNOFFICIAL)