from random import random, randint
N, M = 1000, 30
tasks = [random() for _ in range(N)]
w = sum(tasks)
for i in range(N):
tasks[i] /= w
servers = [0.] * M
for t in tasks:
servers[randint(0, M - 1)] += t
print(min(servers), max(servers))
coins = [1, 2, 5, 10, 20, 50, 100]
def roundup(cost):
return sorted(set((cost + c - 1) // c * c for c in coins))
print(roundup(30)) # [30, 40, 50, 100]
print(roundup(312)) # [312, 315, 320, 350, 400]
2^128 = 340282366920938463463374607431768211456
32! = 263130836933693530167218012160000000
25*5 = 125 < 128
или
5*3 < 16
reader = (tuple(map(str, line.split())) for line in stdin)
чем она отличается отreader = (tuple(line.split()) for line in stdin)
""" Maxheap variant of heapify. """Смотрим heapify:
""" Transform list into a heap, in-place, in O(len(heap)) time. """
def multi(x, y):
return int(x) * int(y)
def karatsuba(x, y):
x = str(x)
y = str(y)
n = max(len(x), len(y))
if n == 1:
return multi(x, y)
half_n = n // 2
x_l = x[:-half_n]
x_r = x[-half_n:]
y_l = y[:-half_n]
y_r = y[-half_n:]
if x_l == '':
x_l = 0
if x_r == '':
x_r = 0
if y_l == '':
y_l = 0
if y_r == '':
y_r = 0
sum_x = (int(x_l) + int(x_r))
sum_y = (int(y_l) + int(y_r))
Res1 = karatsuba(x_l, y_l)
Res2 = karatsuba(x_r, y_r)
Res3 = karatsuba(sum_x, sum_y)
return ((pow(100, half_n) * Res1) + (pow(10, half_n) * (Res3 - Res1 - Res2)) + Res2)
n, m = map(int, input().split())
field = {(x, y) for y in range(n) for x, c in enumerate(input()) if c == '#'}
def dfs(xy):
field.discard(xy)
x, y = xy
for ij in (x - 1, y), (x + 1, y), (x, y - 1), (x, y + 1):
if ij in field:
dfs(ij)
res = 0
while field:
dfs(field.pop())
res += 1
print(res)
MOD = 3
def f(x):
return (x - 1) % MOD
for x in range(MOD):
print(f'f({x}) = {f(x)}')
const MOD = 3;
const f = x => (x + MOD - 1) % MOD;
for (let x = 0; x < MOD; x++)
console.log(`f(${x}) = ${f(x)}`);