포럼
문제 USACO0579

지팡이 사탕 잔치

설명

농부 존의 소들은 단것을 무척 좋아하고, 특히 지팡이 사탕(candy cane)을 먹는 것을 즐긴다! 농부 존에게는 총 \(N\)마리의 소가 있고 각 소는 초기 키를 가지며, 그는 소들에게 각각 높이가 다양한 \(M\)개의 지팡이 사탕을 먹이려고 한다 (\(1\le N,M\le 2\cdot 10^5\)).

농부 존은 입력에 주어진 순서대로 지팡이 사탕을 하나씩 소들에게 먹일 계획이다. 지팡이 사탕을 소들에게 먹일 때, 그는 처음에 사탕이 땅에 딱 닿도록 매달아 놓는다. 그러면 소들이 입력에 주어진 순서대로 한 마리씩 줄을 서서 사탕에 다가가, 각자 자신의 키 높이까지 사탕을 먹는다 (그보다 높은 곳에는 닿을 수 없기 때문이다). 지팡이 사탕은 처음 설치된 위치에 그대로 매달려 있으며, 소들이 사탕의 아랫부분을 먹어도 땅으로 내려오지 않는다. 사탕의 아랫부분이 이미 어떤 소의 키보다 높이 있다면, 그 소는 자기 차례에 아무것도 먹지 못할 수도 있다. 모든 소가 자기 차례를 마치면, 각 소는 자신이 먹은 사탕의 길이만큼 키가 자라고, 농부 존은 다음 지팡이 사탕을 매달아 소들이 이 과정을 다시 반복한다 (다음 사탕도 1번 소가 가장 먼저 먹기 시작한다).

문제 제공: Agastya Goel

제약

채점 방식

  • 입력 2-10: \(N, M \le 10^3\)
  • 입력 11-14: 추가 제약 조건 없음.

문제 제공: Agastya Goel

입력 형식

첫째 줄에 \(N\)\(M\)이 주어진다.

다음 줄에 \(N\)마리 소의 초기 키가 주어진다. 각 값은 \([1,10^9]\) 범위이다.

다음 줄에 \(M\)개의 지팡이 사탕의 높이가 주어진다. 각 값은 \([1,10^9]\) 범위이다.

출력 형식

\(N\)마리 소 각각의 최종 키를 한 줄에 하나씩 출력한다.

이 문제에서 다루는 정수가 매우 클 수 있으므로 64비트 정수 자료형(예: C/C++의 "long long")이 필요할 수 있음에 유의하라.

예제 1
입력
3 2
3 2 5
6 1
출력
7
2
7
설명

The first candy cane is \(6\) units tall.

  1. The first cow eats the portion of the first candy cane up to height \(3\), after which the remaining portion of the first candy cane occupies heights \([3,6]\).
  2. The second cow is not tall enough to eat any of the remaining portion of the first candy cane.
  3. The third cow eats two additional units of the first candy cane. The remaining portion of the first candy cane, occupying heights \([5,6]\), is not eaten.

Next, each cow grows by the amount she ate, so the heights of the cows become
\([3+3, 2+0, 5+2]=[6, 2, 7]\).

The second candy cane is \(1\) unit tall, and the first cow eats all of it.

문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2023-2024 > December > Bronze

태그

평가 및 의견

Candy Cane Feast

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

Log in to rate problems.

개별 의견

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

풀이 제출

Candy Cane Feast

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