겹치지않으면서 최소 집합과 최대집합의 차이가 최소가 되려면 공차가 1인 등차수열을 이뤄야함.
수열을 제외한 나머지는 K로 나누어 떻어져야 최소.
import sys
input = sys.stdin.readline
N, K = map(int, input().split())
min_gap = K * (K + 1) // 2
if min_gap > N:
print(-1)
exit()
answer = K - 1 if not (N - min_gap) % K else K
print(answer)
'practivceAlgorithm > 다시 봐야할 문제들' 카테고리의 다른 글
[백준][Python] 1823 수확 (0) | 2021.10.06 |
---|---|
[백준][Python] 1622 공통순열 (0) | 2021.10.06 |
[백준][Python] 2758 로또 (0) | 2021.10.04 |
[Codefroce][Python] div.3 #731 - G. How Many Paths? (0) | 2021.10.03 |
[Codefroce][Python] div.3 #731 - F. Array Stabilization (GCD version) (0) | 2021.10.03 |