잡초 제거
어려움
유형
프로그래밍
배점
100점
참여자
34
정답률
61.7%
3
3
문제
한철이는 방학동안 집에서 빈둥거리며 놀다가 집 앞마당에 잡초가 많이 자랐다는 사실을 깨달았다. 그래서 한철이는 이 잡초들을 제거하고자 하는데 이왕이면 좀 더 효율적으로 제거하고자, 자신의 앞마당에 있는 잡초의 양을 관리하는 프로그램을 작성하고자 한다. 프로그램을 작성하는 동안 잡초가 계속해서 자랄 것이 분명하므로 우선 잡초가 더 이상 자라지 않게 약을 뿌려놓았다. 하지만 약의 성능이 썩 좋지 않아 몇몇 잡초는 조금씩 자랄 것이다.
한철이의 잡초 관리 프로그램은 기본적으로 다음과 같은 기능을 제공한다.
- 1번 연산: [a, b] 구간에 있는 잡초의 양을 출력한다.
- 2번 연산: a 자리에 있는 잡초가 b만큼 자란다.
- 3번 연산: a 자리에 있는 잡초를 b만큼 제거한다.
한철이가 프로그램을 작성하는 것을 도와주자!
입력
- q가 1이면
- q가 2또는 3이면
첫째 줄에 앞마당의 길이와 프로그램에 요청할 연산의 횟수가 각각 정수 N, Q로 주어진다. (단, )
둘째 줄에 현재 앞마당에 자라있는 잡초의 양 이 공백으로 구분되어 정수로 주어진다. (단, )
이후 Q개의 줄에 걸쳐 세 개의 정수 q a b
가 주어진다. 여기서 q는 연산의 번호를 뜻한다.
단, 연산의 도중에 잡초의 양이 음수가 되는 경우는 입력으로 주어지지 않는다.
출력
q가 1일 때만 해당하는 구간에 있는 잡초의 양을 각 줄에 출력한다.