728x90
반응형
https://www.acmicpc.net/problem/21318
i번째 난이도가 i - 1번째 난이도보다 쉽다면 실수할 수 있기 때문에 1을 추가하면 됩니다.
그걸 1 ~ N까지 미리 구한 후, 누적합을 활용하여 합을 구해놓은 뒤, testcase마다 y - x 형식으로 값을 출력하면 됩니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int[] sum = new int[n], arr = new int[n];
StringTokenizer st = new StringTokenizer(br.readLine());
for(int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(st.nextToken());
if(i > 0) {
sum[i] = arr[i] < arr[i - 1] ? 1 : 0;
sum[i] += sum[i - 1];
}
}
int t = Integer.parseInt(br.readLine());
StringBuilder sb = new StringBuilder();
while(t --> 0) {
st = new StringTokenizer(br.readLine());
int x = Integer.parseInt(st.nextToken()) - 1, y = Integer.parseInt(st.nextToken()) - 1;
sb.append(sum[y] - sum[x]).append("\n");
}
System.out.print(sb);
}
}
728x90
반응형
'백준 > 20001 - 25000' 카테고리의 다른 글
[백준] 23292번 : 코딩 바이오리듬(JAVA) (0) | 2021.10.31 |
---|---|
[백준] 23335번 : Aliquot Sum(JAVA) (0) | 2021.10.31 |
[백준] 23334번 : Olympic Ranking(JAVA) (0) | 2021.10.30 |
[백준] 23336번 : A Sorting Problem(JAVA) (0) | 2021.10.30 |
[백준] 23343번 : JavaScript(JAVA) (0) | 2021.10.30 |
댓글