겹치지않으면서 최소 집합과 최대집합의 차이가 최소가 되려면 공차가 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)