Logo
(追記) (追記ここまで)

31563번 - 수열 회전과 쿼리

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB125535329033.295%

문제

길이가 $N$인 정수 수열 $[A_1,A_2,\dots,A_N]$이 주어진다. 이때 다음 쿼리를 수행하는 프로그램을 작성해보자.

  • 1ドル$ $k$: 수열을 오른쪽으로 $k$만큼 회전시킨다. 즉, $A_1$의 값은 $A_{N-k+1},ドル $A_2$의 값은 $A_{N-k+2},ドル $\dots,ドル $A_k$의 값은 $A_N,ドル $A_{k+1}$의 값은 $A_1,ドル $A_{k+2}$의 값은 $A_2,ドル $\dots,ドル $A_N$의 값은 $A_{N-k}$로 동시에 변한다.
  • 2ドル$ $k$: 수열을 왼쪽으로 $k$만큼 회전시킨다. 즉, $A_1$의 값은 $A_{k+1},ドル $A_2$의 값은 $A_{k+2},ドル $\dots,ドル $A_{N-k}$의 값은 $A_N,ドル $A_{N-k+1}$의 값은 $A_1,ドル $A_{N-k+2}$의 값은 $A_2,ドル $\dots,ドル $A_N$의 값은 $A_k$로 동시에 변한다.
  • 3ドル$ $a$ $b$: 수열의 $a$번째 수부터 $b$번째 수의 합을 출력한다. 즉, $\sum_{i=a}^b A_i$를 출력한다.

입력

첫 번째 줄에 수열의 길이 $N$과 쿼리의 수 $Q$가 공백으로 구분되어 주어진다.

두 번째 줄에 $N$개의 정수 $A_1,A_2,\dots,A_N$이 공백으로 구분되어 주어진다.

세 번째 줄부터 $Q$개의 줄에 걸쳐 쿼리가 한 줄에 하나씩 주어진다.

출력

3ドル$번 쿼리에 대한 결괏값을 한 줄에 하나씩 입력으로 주어진 순서대로 출력한다.

제한

  • 2ドル \le N \le 200,000円$
  • 1ドル \le Q \le 200,000円$
  • 1ドル \le A_i \le 10^9$
  • 1ドル \le k \le N$
  • 1ドル \le a \le b \le N$
  • 입력으로 주어지는 모든 수는 정수이다.
  • 3ドル$번 쿼리는 한 번 이상 주어진다.

예제 입력 1

7 5
3 2 1 5 10 6 2
3 1 3
2 1
3 1 3
1 3
3 2 6

예제 출력 1

6
8
13
  1. 수열 $[3,2,1,5,10,6,2]$에서 1ドル$번째 수부터 3ドル$번째 수의 합은 6ドル$이다.
  2. 수열 $[3,2,1,5,10,6,2]$를 왼쪽으로 1ドル$만큼 회전시키면 수열이 $[2,1,5,10,6,2,3]$으로 변한다.
  3. 수열 $[2,1,5,10,6,2,3]$에서 1ドル$번째 수부터 3ドル$번째 수의 합은 8ドル$이다.
  4. 수열 $[2,1,5,10,6,2,3]$를 오른쪽으로 3ドル$만큼 회전시키면 수열이 $[6,2,3,2,1,5,10]$으로 변한다
  5. 수열 $[6,2,3,2,1,5,10]$에서 2ドル$번째 수부터 6ドル$번째 수의 합은 13ドル$이다.

노트

출처

University > 전남대학교 > 2024 상반기 전남대학교 PIMM 알고리즘 파티 C번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /