카테고리 없음
[SWEA] 20728. 공평한 분배 2 (Python)
가은(JANE)
2024. 11. 21. 00:04
#Problem
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
#Think
- 나열했을 때 제일 큰 수에서 제일 작은 수 빼는 게 아니다
- 서로의 차가 제일 작아야된다.
- 무슨 말이냐면 100 10 10 1로 정렬했을 때 100 10 10으로 출력하는 지 알았는데 100이랑 10차이가 겁나게 크니까 안 된다. 100이랑 10의 차이, 10이랑 1의 차이를 비교해서 더 작은 거로 출력해야 한다
#Code
T = int(input())
for test_case in range(1, T + 1):
n, k = map(int, input().split())
number = list(map(int, input().split()))
cnt = 0
while number[0]*n != sum(number):
cnt += 1
number.append(number[k - 1])
number.remove(number[0])
if cnt >= 5000:
cnt = -1
break
print(f"#{test_case} {cnt}")