1476A - K-divisible Sum

发布时间 2023-09-09 02:55:09作者: 是吃可爱长大的

A. K-divisible Sum

https://codeforces.com/problemset/problem/1476/A

"""
思路:
1.k >= n, 如果能除尽, 就是每项都相同肯定是最小的, 比如2 6, 3是最小的, 其他的肯定比3要大, 所以只要去商就可以, 如果要是除不尽, 比如7 3, 那就是说要在刚转玩一圈就要翻转, 最大的加1即可
2.k < n, 此时k < n < 2k(?) < 2n, 如果2k是大于n的, 那就是说把111这种的变成211这样的, 依次翻转, 因为n > k, 所以最多转换n - 2个数就可以, max不是1就是2, 能除尽就是1, 不然就是2
推演下寻找过程比如11 7:
1 1 1 1 1 1 1 1 1 1 1   -> 11 x
1 1 1 1 1 1 1 1 1 1 2   -> 12 x
1 1 1 1 1 1 1 1 1 2 2   -> 13 x
1 1 1 1 1 1 1 1 2 2 2   -> 14 vv

反向:
1 1 1 1 1 1 1   -> 7 x
2 2 2 2 2 2 2   -> 14 x
1 1 1 2 2 2 2   -> 11 vv

"""

for line in [*open(0)][1:]:
    n, k = [int(i) for i in line.split()]
    if k >= n:
        print(k // n if k % n == 0 else k // n + 1)
    else:
        print(2 if n % k else 1)