배열과 연산
면접 대비시간 제한2초메모리 제한512 MB
원소가 0인 배열에 전체에 인덱스를 더하는 연산과 구간 뒤집기 연산을 순서대로 q번 적용한 뒤, m개의 위치에 있는 값을 출력한다.
문제
크기가 인 정수 배열 가 있고, 처음에는 모든 원소가 이다. 이 배열에 연산을 번 적용하려고 한다.
적용할 수 있는 연산은 두 가지다.
- 덧셈: 모든 에 를 더한다. ()
- 뒤집기: 인 두 정수 , 가 필요하다. 부터 까지 원소의 순서를 뒤집는다. 즉 의 순서가 뒤집힌다.
예를 들어 이고 다음 다섯 개의 연산을 순서대로 적용한다고 하자.
- 덧셈
- 덧셈
- 뒤집기 ,
- 덧셈
- 뒤집기 ,
처음에 는 이다. 각 연산을 적용한 결과는 다음과 같다.
배열의 크기 , 적용한 연산의 수 , 그리고 적용한 연산이 주어졌을 때 배열 에 담긴 값을 구하려고 한다.
크기가 인 배열 가 주어졌을 때, 모든 연산을 적용한 뒤의 값을 구해보자.
입력
첫째 줄에 세 정수 , , 이 주어진다. (, , )
다음 개의 줄에 연산이 한 줄에 하나씩 주어진다. 각 줄은 'a'나 'r'로 시작한다. 'a'는 덧셈 연산을, 'r'은 뒤집기 연산을 나타낸다. 'r'이 주어진 경우 그 뒤에 공백으로 구분된 두 정수 , 가 주어진다. ()
마지막 줄에는 배열 를 나타내는 개의 정수가 순서대로 주어진다. ()
출력
총 개의 줄에 값을 순서대로 한 줄에 하나씩 출력한다.