포럼
문제 USACO0712

건초 더미 스택

설명

*참고: 이 문제의 시간 제한은 2.5초이다.*

농부 존은 \(N\)개의 건초 더미 스택 (\(1 \leq N \leq 5 \cdot 10^5\))을 가지고 있으며, \(i\)번째 스택에는 \(a_i\)개의 건초 더미가 있다 (\(1 \leq a_i \leq 10^9\)). 그는 이 건초 더미를 모두 치우고 싶으며, 그를 도와줄 수 있는 \(M\) (\(1 \leq M \leq 2500\))마리의 소가 있다. \(i\)번째 소는 고용되면 비용 \(c_i\) (\(1 \leq c_i \leq 10^9\))를 받고 다음을 \(s_i\)번 (\(1 \leq s_i \leq 100\)) 반복한다.

  • 스택에 건초 더미가 \(p_i\)개 이상 있으면 (\(1 \leq p_i \leq 10^9\)), 소는 건초 더미 하나를 치운다.
  • 스택에 건초 더미가 \(p_i\)개 미만이면, 소는 아무것도 하지 않는다.

농부 존은 각 스택마다 그 안의 건초 더미를 모두 치우고 싶다. 그는 스택이 빌 때까지 소를 차례로(같은 소를 여러 번 고용할 수도 있다) 고용하여 이를 수행할 것이다. 각 스택에 대해 그것을 비우는 최소 비용을 구하는 것을 도와주자.

문제 제공: Sujay Konda

제약

채점 방식

  • 입력 2-3: \(a_i \le 100\)
  • 입력 4-5: \(\max(s)=1\)
  • 입력 6-9: \(\max(s)\le 4\)
  • 입력 10-15: \(\max(s)\le 20\)
  • 입력 16-21: 추가 제약 조건이 없다.

문제 제공: Sujay Konda

입력 형식

첫째 줄에 독립적인 테스트의 수 \(T\) (\(1\le T\le 100\))가 주어진다. 각 테스트는 다음 형식으로 주어진다.

첫째 줄에 정수 \(N\)이 주어진다. 둘째 줄에 \(N\)개의 정수 \(a_1, a_2, \dots, a_N\)이 주어진다.

셋째 줄에 정수 \(M\)이 주어진다. 그다음 \(M\)개의 줄에 \(p_i, s_i, c_i\)가 주어진다.

소들이 모든 스택의 건초 더미를 전부 치울 수 있음이 보장된다. 추가로, 모든 테스트에 대한 \(N\)의 합은 \(5\cdot 10^5\)를 넘지 않고, \(M\)의 합은 \(2500\)을 넘지 않음이 보장된다.

출력 형식

각 테스트마다 \(N\)개의 정수를 공백으로 구분하여 출력한다. \(i\)번째 정수는 \(i\)번째 스택의 건초 더미를 모두 치우는 비용이다.

예제 1
입력
2
3
15 100 10
4
101 1 1
1 4 8
9 3 5
15 2 3
3
15 100 10
4
101 1 1
1 1 5
9 1 8
15 1 3
출력
29 155 21
73 328 50
설명

First test: For the last stack of initial size \(10\), we can hire cow \(3\) once,
which costs \(5\) and will remove haybales twice (not thrice because the number of
haybales turns to \(8\) after the second one is removed). Then we can hire cow \(2\)
twice, removing the \(8\) haybales, resulting in no haybales left. The total cost
is
\( 5+8+8=21\).

Second test: This satisfies \(\max(s)=1\).

문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2025-2026 > US Open > Platinum

태그

평가 및 의견

Haybale Stacks

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

Log in to rate problems.

개별 의견

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

풀이 제출

Haybale Stacks

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