ALGORITHM/BOJ

[BOJ] 21921 블로그

0298 2023. 6. 27. 21:51

https://www.acmicpc.net/problem/21921

 

21921번: 블로그

첫째 줄에 $X$일 동안 가장 많이 들어온 방문자 수를 출력한다. 만약 최대 방문자 수가 0명이라면 SAD를 출력한다. 만약 최대 방문자 수가 0명이 아닌 경우 둘째 줄에 기간이 몇 개 있는지 출력한다

www.acmicpc.net

2023-06-27


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import java.util.Scanner;
 
public class Main21921 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int x = sc.nextInt();
        int n = sc.nextInt();
 
        int sum = 0;
        int[] arr = new int[x];
        for(int i = 0; i < x; i++) {
            arr[i] = sc.nextInt();
            if(i < n) sum += arr[i];
        }
        int max = sum;
 
        int count = 1;
        int idx = 0;
        for(int i = n; i < x; i++) {
            sum += arr[i];
            sum -= arr[idx++];
 
            if(sum > max) {
                max = sum;
                count = 0;
            }
            if(sum == max) {
                count++;
            }
        }
 
        if(sum == 0System.out.println("SAD");
        else {
            System.out.println(max);
            System.out.println(count);
        }
    }
}
 
 
cs

 

#문제풀이

슬라이딩 윈도우