포럼
문제 USACO0643

농부 존이 가장 좋아하는 연산

설명

농부 존의 농장에 또다시 춥고 지루한 하루가 찾아왔다. 시간을 보내기 위해 농부 존은 정수 배열에 연산을 수행하는 재미있는 여가 활동을 고안했다.

농부 존은 음이 아닌 정수 \(N\)개(\(1 \leq N \leq 2 \cdot 10^5\))로 이루어진 배열 \(a\)와 정수 \(M\)(\(1 \leq M \leq 10^9\))을 가지고 있다. 그런 다음 농부 존은 베시에게 정수 \(x\)를 요청한다. 한 번의 연산으로 농부 존은 인덱스 \(i\)를 골라 \(a_i\)\(1\)을 더하거나 뺄 수 있다. 농부 존의 지루함 값은 모든 \(1 \leq i \leq N\)에 대해 \(a_i-x\)\(M\)으로 나누어떨어지도록 만들기 위해 수행해야 하는 연산의 최소 횟수이다.

가능한 모든 \(x\) 중에서 농부 존의 최소 지루함 값을 출력하시오.

Problem credits: Chongtian Ma

제약

배점

  • 입력 2: \(N \le 1000\)이고 \(M \le 1000\).
  • 입력 3: \(N\le 1000\).
  • 입력 4-5: \(M\le 10^5\).
  • 입력 6-16: 추가 제약이 없다.

Problem credits: Chongtian Ma

입력 형식

첫째 줄에 풀어야 할 독립적인 테스트 케이스의 수 \(T\)(\(1 \leq T \leq 10\))가 주어진다.

각 테스트 케이스의 첫째 줄에 \(N\)\(M\)이 주어진다.

각 테스트 케이스의 둘째 줄에 \(a_1, a_2, ..., a_N\)(\(0 \leq a_i \leq 10^9\))이 주어진다.

모든 테스트 케이스에 대한 \(N\)의 합은 \(5 \cdot 10^5\)를 넘지 않음이 보장된다.

출력 형식

각 테스트 케이스마다, 가능한 모든 \(x\) 값 중 농부 존의 최소 지루함 값을 새로운 줄에 정수로 출력한다.

예제 1
입력
2
5 9
15 12 18 3 8
3 69
1 988244353 998244853
출력
10
21
설명

In the first test case, one optimal choice of \(x\) is \(3\). FJ can perform \(10\)
operations to make
\(a = [12, 12, 21, 3, 12]\).

문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2024-2025 > January > Silver

태그

평가 및 의견

Farmer John's Favorite Operation

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 1 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Farmer John's Favorite Operation

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8