CSES - Putka Open 2015 – 6/6 - Results
Submission details
Task:Bittilista
Sender:
Submission time:2015-12-06 14:20:14 +0200
Language:Python2
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED17
#2ACCEPTED28
#3ACCEPTED55
Test results
testverdicttimegroup
#1ACCEPTED0.06 s1details
#2ACCEPTED0.06 s1details
#3ACCEPTED0.06 s1details
#4ACCEPTED0.06 s1details
#5ACCEPTED0.07 s1details
#6ACCEPTED0.07 s2details
#7ACCEPTED0.04 s2details
#8ACCEPTED0.04 s2details
#9ACCEPTED0.05 s2details
#10ACCEPTED0.09 s2details
#11ACCEPTED0.05 s3details
#12ACCEPTED0.06 s3details
#13ACCEPTED0.05 s3details
#14ACCEPTED0.06 s3details
#15ACCEPTED0.06 s3details

Code

n, k = [int(x) for x in raw_input().split(" ")]
#print "{0:b}".format(2**n - 1)

#print "k=",k, "2**n=",2**n,
if k == 1:
	tul = "{1:b}".format(2**n)
	print tul[1:]
else:
	k = k -1
	t = 0
	while k > 0:
		a=0
		i=0
		while a < k:
			a = a + 2**i
			i = i + 1
#			print a, i
		
		t = t + 2**i
#		if 2*i**2 == 2**n:
#			t = 2**n + 1
#			k = k - 2**n
#			continue
		k = k - (a+1)/2
#		print "k=", k, "t=", t, "i=", i
#		print
#print a, i
	if t*2 >= 2**n:
#		print "dfsdgsdfgsd"
		t = t+1
	t = t + 2**n
	tul = "{0:b}".format(2**n)
	os = "{0:b}".format(t)
	te = tul+os
	print os[1:]



#if k > 2**n:
#	t = 2**n
#	k = k - 2**n
#	t = t + 1
#	k = 

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
10 54

correct output
0001101010

user output
0001101010

Test 2

Group: 1

Verdict: ACCEPTED

input
10 302

correct output
1001011011

user output
1001011011

Test 3

Group: 1

Verdict: ACCEPTED

input
10 241

correct output
0111100000

user output
0111100000

Test 4

Group: 1

Verdict: ACCEPTED

input
10 382

correct output
1011111011

user output
1011111011

Test 5

Group: 1

Verdict: ACCEPTED

input
10 138

correct output
0100010010

user output
0100010010

Test 6

Group: 2

Verdict: ACCEPTED

input
20 131002

correct output
00111111111101110010

user output
00111111111101110010

Test 7

Group: 2

Verdict: ACCEPTED

input
20 441567

correct output
11010111100110111101

user output
11010111100110111101

Test 8

Group: 2

Verdict: ACCEPTED

input
20 109770

correct output
00110101100110010010

user output
00110101100110010010

Test 9

Group: 2

Verdict: ACCEPTED

input
20 327308

correct output
10011111110100010111

user output
10011111110100010111

Test 10

Group: 2

Verdict: ACCEPTED

input
20 302918

correct output
10010011111010001011

user output
10010011111010001011

Test 11

Group: 3

Verdict: ACCEPTED

input
50 216967103451763

correct output
011000101010101001001011100100...

user output
011000101010101001001011100100...

Test 12

Group: 3

Verdict: ACCEPTED

input
50 236618662270629

correct output
011010111001101000001001101001...

user output
011010111001101000001001101001...

Test 13

Group: 3

Verdict: ACCEPTED

input
50 426560943304480

correct output
110000011111101000111010110000...

user output
110000011111101000111010110000...

Test 14

Group: 3

Verdict: ACCEPTED

input
50 294553802415801

correct output
100001011111001010010011011000...

user output
100001011111001010010011011000...

Test 15

Group: 3

Verdict: ACCEPTED

input
50 502225394100883

correct output
111001000110001010111011000110...

user output
111001000110001010111011000110...