포럼
문제 USACO0649

충격파

설명

베시는 거대한 충격파를 만들어 낼 수 있는 강력한 발굽 임플란트를 실험하고 있다. 그녀 앞에는 타일 \(N\)개(\(2 \leq N \leq 10^5\))가 일렬로 놓여 있으며, 각 타일을 부수려면 각각 최소 \(p_0,p_1,\dots,p_{N-1}\)의 힘이 필요하다(\(0 \leq p_i \leq 10^{18}\)).

베시는 특정 타일을 내리쳐서 힘을 가할 수 있지만, 임플란트의 기묘한 특성 때문에 그녀가 내리친 타일에는 힘이 전혀 가해지지 않는다. 대신 \([0,N-1]\) 범위의 정수 \(x\)에 대해 타일 \(x\)를 한 번 내리치면, \([0,N-1]\) 범위의 모든 정수 \(i\)에 대해 타일 \(i\)\(|i-x|\)의 힘이 가해진다. 이 힘은 누적되므로, 어떤 타일에 \(2\)의 힘을 두 번 가하면 그 타일에는 총 \(4\)의 힘이 가해진다.

모든 타일을 부수기 위해 필요한 최소 타격 횟수를 구하시오.

Problem credits: Suhas Nagar

제약

배점

  • 입력 2: 모든 \(p_i\)가 같다.
  • 입력 3-6: \(N\le 100\)
  • 입력 7-14: 추가 제약이 없다.

Problem credits: Suhas Nagar

입력 형식

첫째 줄에 테스트 케이스의 수를 나타내는 \(T\)(\(1 \leq T \leq 100\))가 주어진다.

\(2t\)번째 줄에 테스트 케이스 \(t\)의 타일 수인 정수 \(N\)이 주어진다.

\(2t+1\)번째 줄에 타일 \(i\)를 부수는 데 \(p_i\)의 힘이 필요함을 나타내는, 공백으로 구분된 \(N\)개의 수 \(p_0,p_1, \ldots, p_{N-1}\)이 주어진다.

하나의 입력에서 모든 \(N\)의 합은 \(5\cdot 10^5\)를 넘지 않음이 보장된다.

출력 형식

\(T\)개의 줄을 출력한다. \(i\)번째 줄에 \(i\)번째 테스트 케이스의 답을 출력한다.

예제 1
입력
6
5
0 2 4 5 8
5
6 5 4 5 6
5
1 1 1 1 1
5
12 10 8 6 4
7
6 1 2 3 5 8 13
2
1000000000000000000 1000000000000000000
출력
2
3
2
4
4
2000000000000000000
설명

For the first test, the only way for Bessie to break all the tiles with two
punches is to punch \(0\) twice, applying total powers of \([0,2,4,6,8]\)
respectively.

For the second test, one way for Bessie to break all the tiles with three
punches is to punch \(0\), \(2\), and \(4\) one time each, applying total powers of
\([6,5,4,5,6]\) respectively.

For the third test, one way for Bessie to break all the tiles with two punches
is to punch \(0\) and \(1\) one time each, applying total powers of \([1,1,3,5,7]\)
respectively.

문제 정보

riseoj 작성

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

태그

평가 및 의견

Shock Wave

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

Log in to rate problems.

개별 의견

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

풀이 제출

Shock Wave

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