개발 노트/백준, 프로그래머스 풀이
[백준 14648/c++] 쿼리 맛보기
tokkiC
2022. 6. 26. 12:42
주어진 데이터를 쿼리로 가져와 제어할때 그 데이터는 배열로 저장해두고 참조로 불러와 쿼리를 수행하도록 하자
https://www.acmicpc.net/problem/14648
14648번: 쿼리 맛보기
첫째 줄에 수열의 길이를 뜻하는 n(1 ≤ n ≤ 1,000)과 쿼리의 개수를 뜻하는 q(1 ≤ q ≤ 10,000)가 주어진다. 둘째 줄에 길이 n의 수열이 하나의 공백을 사이에 두고 주어진다. 수열의 각 수는 -2,147,483,
www.acmicpc.net
#include <bits/stdc++.h>
using namespace std;
int main(){
int n, q;
int arr[1004]={0};
cin >> n >> q;
for(int i=1; i<=n; i++){
cin >> arr[i];
}
for(int i=0; i<q; i++){
int box;
long long s1=0;
long long s2=0;
cin >> box;
if(box==1){
int a, b;
cin >> a >> b;
for(int j=a; j<=b; j++){
s1+=arr[j];
}
cout << s1 << "\n";
swap(arr[a], arr[b]);
}
if(box==2){
int a, b, c, d;
cin >> a >> b >> c >> d;
for(int j=a; j<=b; j++){
s1+=arr[j];
}
for(int j=c; j<=d; j++){
s2+=arr[j];
}
cout << s1-s2 << "\n";
}
}
return 0;
}