practivceAlgorithm/다시 봐야할 문제들

[백준][Python] 19939 박 터뜨리기

findTheValue 2021. 10. 4. 04:37

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