Пример #1
0
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))
Пример #3
0
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))
Пример #4
0
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))
Пример #5
0
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))
Пример #6
0
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))
Пример #7
0
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))
Пример #9
0
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))
Пример #10
0
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))
Пример #11
0
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))
Пример #12
0
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])
    m     = lines[0][0]
    n     = lines[1][0]
    A     = lines[2:]

    print(max_region_size(A, m, n))
Пример #14
0
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))
Пример #15
0
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 = lines[0][0]
    A = sorted(lines[1])
    P, Q = lines[2]

    print(minimax(N, A, P, Q))
Пример #17
0
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))
Пример #18
0
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))
Пример #19
0
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:])))
Пример #20
0
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))
Пример #21
0
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))
Пример #22
0
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]))
Пример #24
0
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))
Пример #25
0
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))
Пример #26
0
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))
Пример #27
0
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))
Пример #28
0
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))
Пример #29
0
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))
Пример #30
0
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)
Пример #31
0
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))
Пример #32
0
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))
Пример #33
0
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]))
Пример #34
0
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))
Пример #35
0
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))
Пример #36
0
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])
Пример #37
0
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))
Пример #38
0
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))
Пример #39
0
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))
Пример #40
0
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))
Пример #41
0
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)
Пример #42
0
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))
Пример #43
0
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))
Пример #44
0
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))
Пример #45
0
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))
Пример #46
0
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]))
Пример #47
0
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])
    s     = lines[0][0]
    ar    = lines[1]

    insertion_sort(ar)

    print(' '.join(map(str, ar)))
Пример #49
0
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))
Пример #50
0
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))
Пример #51
0
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))
Пример #52
0
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):
    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')
Пример #54
0
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)
Пример #55
0
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)))
Пример #56
0
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)
Пример #57
0
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))
Пример #58
0
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))
Пример #59
0
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))
Пример #60
0
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))