티스토리 뷰
출저 : https://www.acmicpc.net/problem/12847
"하라는대로 구현~"
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 41 42 43 44 45 | import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int n,m; static long max; static int[] map; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); n = Integer.parseInt(st.nextToken()); m = Integer.parseInt(st.nextToken()); map = new int[n]; st = new StringTokenizer(br.readLine()); for (int i = 0; i < n; i++) { map[i] = Integer.parseInt(st.nextToken()); } long sum = 0; // 크기가 m 인 윈도우가 이동한다고 생각하면 쉬울 듯 // 따라서 현재 윈도우의 가장 첫번째 원소의 값을 빼고 // 앞으로 추가될 다음 원소의 값을 윈도우에 더하여 // 윈도우의 값을 얻을 수 있다. for (int i = 0; i < m; i++) { sum += map[i]; } max = sum; for (int i = m; i < n; i++) { sum += (map[i] - map[i-m]); max = Math.max(max, sum); } System.out.println(max); } } | cs |
'Study > 알고리즘 문제풀이' 카테고리의 다른 글
SWEA 1824. 혁진이의 프로그램 검증 :: 돼지개발자 (0) | 2018.12.26 |
---|---|
백준 15486. 퇴사 2 :: 돼지개발자 (0) | 2018.12.19 |
백준 4963. 섬의 개수 :: 돼지개발자 (0) | 2018.12.18 |
백준 2174. 로봇 시뮬레이션 :: 돼지개발자 (0) | 2018.12.17 |
백준 1339. 단어 수학 :: 돼지개발자 (0) | 2018.12.17 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday