diff --git "a/JHLEE325/202508/27 BOJ G1 \352\265\254\352\260\204 \355\225\251 \352\265\254\355\225\230\352\270\260.md" "b/JHLEE325/202508/27 BOJ G1 \352\265\254\352\260\204 \355\225\251 \352\265\254\355\225\230\352\270\260.md" new file mode 100644 index 00000000..769a5833 --- /dev/null +++ "b/JHLEE325/202508/27 BOJ G1 \352\265\254\352\260\204 \355\225\251 \352\265\254\355\225\230\352\270\260.md" @@ -0,0 +1,85 @@ +```java +import java.io.*; +import java.util.*; + +public class Main { + + public static void main(String[] args) throws Exception { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringTokenizer st = new StringTokenizer(br.readLine()); + StringBuilder sb = new StringBuilder(); + + int n = Integer.parseInt(st.nextToken()); + int m = Integer.parseInt(st.nextToken()); + int k = Integer.parseInt(st.nextToken()); + + long[] arr = new long[n]; + long[] tree = new long[4*n]; + + for(int i=0;i end || right < start) { + return 0; + } + if (left <= start && end <= right) { + return tree[node]; + } + long lsum = query(tree, node*2, start, (start+end)/2, left, right); + long rsum = query(tree, node*2+1, (start+end)/2+1, end, left, right); + return lsum+rsum; + } + + static void update(long[] arr, long[] tree, int node, int start, int end, int index, long val) { + if (index < start || index > end) { + return; + } + if (start == end) { + arr[index] = val; + tree[node] = val; + return; + } + update(arr, tree,node*2, start, (start+end)/2, index, val); + update(arr, tree,node*2+1, (start+end)/2+1, end, index, val); + tree[node] = tree[node*2] + tree[node*2+1]; + } +} + +```