Submission #222775

# Submission time Handle Problem Language Result Execution time Memory
222775 2020-04-14T01:54:20 Z errorgorn Popcount (COCI19_popcount) Python 3
110 / 110
45 ms 3564 KB
import math
n,k=map(int,input().split(" "))
ans=[]
mul=1
original_n=n
while (n>=5):
    temp=0
    for i in range(0,n,5):
        temp|=(((1<<mul)-1)<<(i*mul))
    temp&=(1<<original_n)-1
    ans.append("A=(((((A&"+str(temp)+")+((A>>"+str(1*mul)+")&"+str(temp)+"))+((A>>"+str(2*mul)+")&"+str(temp)+"))+((A>>"+str(3*mul)+")&"+str(temp)+"))+((A>>"+str(4*mul)+")&"+str(temp)+"))")
    mul*=5
    n=math.ceil(n/5)

temp=0
for i in range(0,n,5):
    temp|=(((1<<mul)-1)<<(i*mul))
temp&=(1<<original_n)-1

if (n==2):
    ans.append("A=((A&"+str(temp)+")+((A>>"+str(1*mul)+")&"+str(temp)+"))")

elif (n==3):
    ans.append("A=(((A&"+str(temp)+")+((A>>"+str(1*mul)+")&"+str(temp)+"))+((A>>"+str(2*mul)+")&"+str(temp)+"))")

elif (n==4):
    ans.append("A=((((A&"+str(temp)+")+((A>>"+str(1*mul)+")&"+str(temp)+"))+((A>>"+str(2*mul)+")&"+str(temp)+"))+((A>>"+str(3*mul)+")&"+str(temp)+"))")
    

print(len(ans))

for i in range(len(ans)):
    print(ans[i])
    
# Verdict Execution time Memory Grader output
1 Correct 26 ms 3436 KB Accepted.
2 Correct 25 ms 3308 KB Accepted.
3 Correct 26 ms 3436 KB Accepted.
4 Correct 25 ms 3436 KB Accepted.
5 Correct 32 ms 3556 KB Accepted.
6 Correct 26 ms 3428 KB Accepted.
7 Correct 26 ms 3308 KB Accepted.
8 Correct 25 ms 3436 KB Accepted.
9 Correct 25 ms 3436 KB Accepted.
10 Correct 26 ms 3436 KB Accepted.
11 Correct 27 ms 3428 KB Accepted.
12 Correct 26 ms 3428 KB Accepted.
13 Correct 25 ms 3436 KB Accepted.
14 Correct 26 ms 3436 KB Accepted.
# Verdict Execution time Memory Grader output
1 Correct 29 ms 3420 KB Accepted.
# Verdict Execution time Memory Grader output
1 Correct 26 ms 3564 KB Accepted.
2 Correct 25 ms 3436 KB Accepted.
3 Correct 33 ms 3428 KB Accepted.
4 Correct 26 ms 3436 KB Accepted.
5 Correct 25 ms 3436 KB Accepted.
6 Correct 26 ms 3436 KB Accepted.
7 Correct 25 ms 3348 KB Accepted.
8 Correct 25 ms 3436 KB Accepted.
9 Correct 25 ms 3436 KB Accepted.
10 Correct 45 ms 3436 KB Accepted.
11 Correct 25 ms 3436 KB Accepted.
12 Correct 29 ms 3436 KB Accepted.
13 Correct 25 ms 3436 KB Accepted.
14 Correct 26 ms 3436 KB Accepted.
15 Correct 25 ms 3428 KB Accepted.
16 Correct 26 ms 3436 KB Accepted.
17 Correct 25 ms 3436 KB Accepted.
18 Correct 25 ms 3436 KB Accepted.
19 Correct 25 ms 3436 KB Accepted.
20 Correct 25 ms 3436 KB Accepted.
21 Correct 28 ms 3436 KB Accepted.
# Verdict Execution time Memory Grader output
1 Correct 25 ms 3428 KB Accepted.
2 Correct 26 ms 3436 KB Accepted.
3 Correct 26 ms 3436 KB Accepted.
4 Correct 26 ms 3436 KB Accepted.
5 Correct 26 ms 3436 KB Accepted.
6 Correct 25 ms 3428 KB Accepted.
7 Correct 25 ms 3436 KB Accepted.
8 Correct 25 ms 3428 KB Accepted.
9 Correct 27 ms 3436 KB Accepted.
10 Correct 34 ms 3428 KB Accepted.
11 Correct 25 ms 3436 KB Accepted.
12 Correct 25 ms 3420 KB Accepted.