구슬
면접 대비시간 제한1초메모리 제한256 MB
상자에 구슬을 더하는 연산과 구간 합 질의를 순서대로 처리해 각 질의 결과를 출력합니다.
- 난이도
쉬움10점 중 3점
- 유형
- 세그먼트 트리
- 정답자
- 아직 제출이 없습니다
문제
구슬을 상자에 넣는 놀이가 있다. 규칙은 여기에 다 적기 어려울 만큼 복잡하지만, 승부를 가르는 데 필요한 정보는 하나뿐이다. 서로 붙어 있는 상자 구간에 구슬이 몇 개 들어 있는지를 계속 파악하는 것이다.
친구가 이 놀이를 매번 이기도록 도와주는 프로그램을 만들어 달라고 부탁했다. 한 판이 시작될 때 모든 상자는 비어 있다.
입력
첫 줄에 진행하는 판의 수 가 주어진다. 각 판은 상자의 수 , 넣기 요청의 수 , 질의 요청의 수 를 차례로 담은 줄로 시작한다.
이어서 개의 줄이 주어진다. 각 줄은 P i a 또는 Q i j 형식이다. P i a는 번 상자에 구슬 개를 넣는다는 뜻이고, Q i j는 그 시점에 번 상자부터 번 상자까지 들어 있는 구슬의 개수를 묻는다는 뜻이다. 양쪽 끝 상자도 범위에 포함된다.
P i a에서 이다.Q i j에서 이다.- 상자 번호는 1번부터 시작한다.
- 입출력의 양이 많다. 입력은 버퍼를 쓰는 방식으로 읽고, 출력은 전부 모은 뒤 한 번에 내보내는 편이 좋다.
출력
질의 요청마다 그 시점에 번 상자부터 번 상자까지 들어 있는 구슬의 총 개수를 한 줄에 하나씩 출력한다.