Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo 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))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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:])))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo 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]))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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)
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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]))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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])
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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)
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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]))
Exemplo n.º 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)))
Exemplo n.º 48
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)))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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')
Exemplo n.º 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)
Exemplo n.º 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)))
Exemplo n.º 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)
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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))