본문 바로가기
개발 노트/백준, 프로그래머스 풀이

[백준 14648/c++] 쿼리 맛보기

by tokkiC 2022. 6. 26.

주어진 데이터를 쿼리로 가져와 제어할때 그 데이터는 배열로 저장해두고 참조로 불러와 쿼리를 수행하도록 하자

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;
}

댓글