Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 가장 긴 증가하는 부분 수열
- 다익스트라
- 조합
- DFS
- 백준 17071
- 백준 숨바꼭질5
- 소트 게임
- C++ 17071
- C++ 1918
- C++1167
- 문자열
- 인덱스 트리
- 16933
- 알고리즘
- 투포인터
- c언어
- C++
- LIS
- 순열
- DP
- Backtracking
- 위상정렬
- 조합론
- 백준
- C++ 1937
- strtok
- 프로그래머스
- BFS
- 백트래킹
- C++1967
Archives
- Today
- Total
블로그
[C++] 2559: 수열 본문
728x90
실버 Ⅲ
#include <iostream>
using namespace std;
int tem[100000];
int main() {
int N, K;
scanf("%d%d", &N, &K);
for (int i = 0; i < N; i++) {
scanf("%d", &tem[i]);
}
int low = 0;
int high = K;
int sum = 0;
for (int i = low; i < high; i++) {
sum += tem[i];
}
int sum_ans = sum;
while (high < N) {
sum += tem[high++];
sum -= tem[low++];
if (sum > sum_ans) sum_ans = sum;
}
printf("%d", sum_ans);
}
투 포인터 문제! 인데.. 음 유형적으로는 첫번째 유형이긴 한데
머라고 하지 무조건 왼쪽 오른쪽 둘다 ++ 하면서 올라감
음 아마도 0~5까지 다 더한다음 1~6까지 다 더하고, 2~7까지 다 더하고...
이렇게 하면 중복계산이 많아서 시간초과가 나니까
그걸 해결하는 방법으로 투포인터를 사용한다
는게 이 문제의 핵심인듯 하다
그냥 투포인터 첫번째 유형보다 개념적으로는 훨씬 쉽고 이해가 잘 가는 것 같기두 하고..
음 그렇네
약간 dp적인 느낌이 나는 문제
전에 계산했던 값 쓰기! 그냥 그런 느낌
별 거 아님
'PS' 카테고리의 다른 글
[C++] 2178: 미로탐색 (0) | 2022.06.26 |
---|---|
[C++] 11266: 단절점 (0) | 2022.06.18 |
[C++] 3273: 두 수의 합 (0) | 2022.06.17 |
C++ 매크로 (0) | 2022.06.17 |
[C++] 2470: 두 용액 (0) | 2022.06.17 |
Comments