Submission #251596

#TimeUsernameProblemLanguageResultExecution timeMemory
251596BruteforcemanPopcount (COCI19_popcount)Cpython 3
110 / 110
32 ms3564 KiB
import math import sys input = sys.stdin.readline n, k = map(int, input().split()) def value(a) : ans = 0 for i in range(len(a)): if a[i] == 1: ans += 1 << i return str(ans) a = [(i, i) for i in range(n)] sz = 1 result = [] while len(a) > 0: s = [0] * n t = [0] * n b = [] for i in range(1, len(a), 2): for j in range(a[i - 1][0], a[i - 1][1] + 1): s[j] = 1 for j in range(a[i][0], a[i][1] + 1): t[j] = 1 b.append((a[i - 1][0], a[i][1])) exp = '((A&' + value(s) + ')+((A&' + value(t) + ')>>' + str(sz) + '))' if len(a) % 2 == 1: s = [0] * n t = [0] * n for j in range(a[-1][0], a[-1][1] + 1): s[j] = 1 for j in range(a[-1][1] + 1, n): t[j] = 1 extra = '((A&' + value(s) + ')+((A&' + value(t) + ')>>' + str(sz) + '))' else: s = [0] * n for j in range(a[-1][1] + 1, n): s[j] = 1 extra = '(A&' + value(s) + ')' exp = '(' + exp + '|' + extra + ')' result.append('A=' + exp) a = b[:] sz *= 2 if len(result) > k: result = result[:k] print(len(result)) print('\n'.join(result))
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...