diff --git "a/lkhyun/202503/19 BOJ \352\263\250\353\223\2341 \352\260\200\352\263\204\353\266\200.md" "b/lkhyun/202503/19 BOJ \352\263\250\353\223\2341 \352\260\200\352\263\204\353\266\200.md" new file mode 100644 index 00000000..63c0ab63 --- /dev/null +++ "b/lkhyun/202503/19 BOJ \352\263\250\353\223\2341 \352\260\200\352\263\204\353\266\200.md" @@ -0,0 +1,46 @@ +```java +import java.util.*; +import java.io.*; + +public class Main { + static int N; + static int Q; + static long[] tree; + public static void main(String[] args) throws Exception { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); + StringTokenizer st = new StringTokenizer(br.readLine()); + N = Integer.parseInt(st.nextToken()); + Q = Integer.parseInt(st.nextToken()); + tree = new long[N*4]; + for(int i=0;iend) return; + tree[cur] += diff; + if(start != end){ + update(cur*2,start,(start+end)/2,idx,diff); + update(cur*2 + 1,(start+end)/2 + 1,end,idx,diff); + } + } + public static long query(int cur, int start, int end, int left, int right){ + if(left>end || right=end) return tree[cur]; + + long l = query(cur*2,start,(start+end)/2,left,right); + long r = query(cur*2+1,(start+end)/2 + 1, end,left,right); + return l+r; + } +} +```