def main(argv): lines = files.read_lines_of_ints(argv[0]) N, K = lines[0] A = lines[1] print(pairs(sorted(A), N, K))
def main(argv): lines = files.read_lines_of_ints(argv[0]) N, M = lines[0] A = lines[1] B = lines[2] print(longest_common_subsequence(N, M, A, B))
def main(argv): lines = files.read_lines_of_ints(argv[0]) V = lines[0][0] n = lines[1][0] ar = lines[2] print(binary_search(ar, V, 0, n - 1))
def main(argv): data = files.read_lines_of_ints(argv[0]) n = data[0][0] A = data[1] k = data[2][0] print ' '.join(str(item) for item in sorts.partial_sort(A, k))
def main(argv): lines = files.read_lines_of_ints(argv[0]) T = lines[0][0] for i in range(T): N, M = lines[i + 1] print(lego_blocks(N, M))
def main(argv): lines = files.read_lines_of_ints(argv[0]) T = lines[0][0] for N, M in lines[1:]: print(clique(N, M))
def main(argv): lines = files.read_lines_of_ints(argv[0]) N = lines[0][0] A = lines[1] print(' '.join( ['%s %s' % (vals[0], vals[1]) for vals in closest_numbers(sorted(A))]))
def main(argv): lines = files.read_lines_of_ints(argv[0]) N = lines[0][0] A = sorted(lines[1]) P, Q = lines[2] print(minimax(N, A, P, Q))
def main(argv): lines = files.read_lines_of_ints(argv[0]) n = lines[0][0] for i in range(1, n + 1): a, b = lines[i] print(solve_me_second(a, b))
def main(argv): lines = files.read_lines_of_ints(argv[0]) m = lines[0][0] n = lines[1][0] A = lines[2:] print(max_region_size(A, m, n))
def main(argv): data = files.read_lines_of_ints(argv[0]) n = data[0][0] A = data[1] k = data[2][0] print selects.quick_select(A, k - 1)
def main(argv): lines = files.read_lines_of_ints(argv[0]) N, I = lines[0] P = lines[1:] print(journey_to_the_moon(N, P))
def main(argv): lines = files.read_lines_of_ints(argv[0]) N, T = lines[0] W = lines[1] print('\n'.join(str(val) for val in service_lane(W, lines[2:])))
def main(argv): lines = files.read_lines_of_ints(argv[0]) T = lines[0][0] for i in range(T): N = lines[(2 * i) + 1][0] A = lines[(2 * i) + 2] print('YES' if divisible(N, A) else 'NO')
def main(argv): lines = files.read_lines_of_ints(argv[0]) N, K, Q = lines[0] A = lines[1] idx = [i[0] for i in lines[2:]] K %= N print('\n'.join([str(A[(i - K + N) % N]) for i in idx]))
def main(argv): data = files.read_lines_of_ints(argv[0]) k = data[0][0] n = data[0][1] As = data[1:] M = [arrays.majority_element(A) for A in As] print ' '.join(str(M[i]) for i in xrange(k))
def main(argv): lines = files.read_lines_of_ints(argv[0]) T = lines[0][0] for i in range(T): N = lines[(2 * i) + 1][0] Y = lines[(2 * i) + 2] print('%0.2f' % vertical_sticks(N, Y))
def main(argv): lines = files.read_lines_of_ints(argv[0]) T = lines[0][0] for i in range(T): N = lines[(2 * i) + 1][0] A = lines[(2 * i) + 2] print(count_pairs(A))
def main(argv): lines = files.read_lines_of_ints(argv[0]) T = lines[0][0] for i in range(T): N = lines[(2 * i) + 1][0] X = lines[(2 * i) + 2] print(stockmax(N, X))
def main(argv): lines = files.read_lines_of_ints(argv[0]) T = lines[0][0] for i in range(T): N, K = lines[(2 * i) + 1] A = lines[(2 * i) + 2] print(knapsack(N, K, A))
def main(argv): lines = files.read_lines_of_ints(argv[0]) N, m = lines[0] A = lines[1] B = probs.founder_effect(A, N, m) print '\n'.join(' '.join(str(col) for col in row) for row in B)
def main(argv): lines = files.read_lines_of_ints(argv[0]) T = lines[0][0] for i in range(T): N, M = lines[(2 * i) + 1] A = lines[(2 * i) + 2] print(maximise_sum(A, N, M))
def main(argv): lines = files.read_lines_of_ints(argv[0]) T = lines[0][0] for i in range(T): B, W = lines[(2 * i) + 1] X, Y, Z = lines[(2 * i) + 2] print(minimum_spend(B, W, X, Y, Z))
def main(argv): lines = files.read_lines_of_ints(argv[0]) T = lines[0][0] for i in range(T): N = lines[(2 * i) + 1][0] A = lines[(2 * i) + 2] print(bricks_game(N, A[::-1]))
def main(argv): lines = files.read_lines_of_ints(argv[0]) T = lines[0][0] for i in range(T): N = lines[(2 * i) + 1][0] A = lines[(2 * i) + 2] print(operations(N, A))
def main(argv): lines = files.read_lines_of_ints(argv[0]) T = lines[0][0] for i in range(T): N = lines[(2 * i) + 1][0] a = lines[(2 * i) + 2] print(merge_sort(a)[1])
def main(argv): lines = files.read_lines_of_ints(argv[0]) T = lines[0][0] for line in lines[1:]: N, A = line[0], line[1:] print(0 if N == 0 else team_formation(N, A))
def main(argv): lines = files.read_lines_of_ints(argv[0]) T = lines[0][0] for i in range(T): N, K = lines[(2 * i) + 1] C = lines[(2 * i) + 2] print(angry_professor(K, C))
def main(argv): perm1, perm2 = files.read_lines_of_ints(argv[0]) final_perm = permutations.composition(permutations.inverse(perm2), perm1) count, reversals = sorts.reversal_sort(final_perm) print count print '\n'.join(' '.join(str(r) for r in reversal) for reversal in reversals)
def main(argv): lines = files.read_lines_of_ints(argv[0]) T = lines[0][0] for i in range(T): N = lines[(2 * i) + 1][0] B = lines[(2 * i) + 2] print(cost(N, B))
def main(argv): lines = files.read_lines_of_ints(argv[0]) s = lines[0][0] ar = lines[1] insertion_sort(ar) print(' '.join(map(str, ar)))
def main(argv): lines = files.read_lines_of_ints(argv[0]) T = lines[0][0] for i in range(T): N = lines[(2 * i) + 1][0] A = lines[(2 * i) + 2] print(maximum_contiguous_subarray(A), maximum_non_contiguous_subarray(A))
def main(argv): lines = files.read_lines_of_ints(argv[0]) n = lines[0][0] ar = lines[1] shifts = insertion_sort(ar[:]) swaps = quick_sort(ar, 0, n - 1) print(shifts - swaps)
def main(argv): lines = files.read_lines_of_ints(argv[0]) T = lines[0][0] for i in range(T): M = lines[(3 * i) + 1][0] N = lines[(3 * i) + 2][0] C = lines[(3 * i) + 3] print(' '.join(str(i) for i in two_sum(M, N, C)))
def main(argv): data = files.read_lines_of_ints(argv[0]) k, n = data[0] As = data[1:] results = [two_sum(A) for A in As] print '\n'.join('%s %s' % (result[0], result[1]) if result else '-1' for result in results)
def main(argv): lines = files.read_lines_of_ints(argv[0]) T = lines[0][0] for i in range(T): M, N = lines[(3 * i) + 1] Y = [(y, 1) for y in lines[(3 * i) + 2]] X = [(x, 0) for x in lines[(3 * i) + 3]] print(board_cutting(M, N, Y, X))
def main(argv): lines = files.read_lines_of_ints(argv[0]) T = lines[0][0] for i in range(T): N, K = lines[(3 * i) + 1] A = lines[(3 * i) + 2] B = lines[(3 * i) + 3] print(two_arrays(N, K, A, B))
def main(argv): lines = files.read_lines_of_ints(argv[0]) N, M = lines[0] V = [] for a, b, k in lines[1:]: V.append((a, k)) V.append((b, -k)) print(crush(N, M, V))
def main(argv): lines = files.read_lines_of_ints(argv[0]) n = lines[0][0] ar = lines[1] col = [] ar = partition(ar, col) print(' '.join(str(val) for val in ar)) print() print('\n'.join(str(val) for val in col))