농담곰담곰이의곰담농

2559. 수열

by 브이담곰

 

2559번: 수열

첫째 줄에는 두 개의 정수 N과 K가 한 개의 공백을 사이에 두고 순서대로 주어진다. 첫 번째 정수 N은 온도를 측정한 전체 날짜의 수이다. N은 2 이상 100,000 이하이다. 두 번째 정수 K는 합을 구하기

www.acmicpc.net

✔ 유형 : 누적 합, 정렬

✔ 문제 풀이: 누적합 개념을 이해하고 활용

 

⬇ 코드 보기

더보기
// Online C++ compiler to run C++ program online
#include <bits/stdc++.h>
using namespace std;

int main() {
    // 누적합!
    int K, N;
    
    vector<int> prefixsum;
    scanf("%d %d", &K , &N);
    
    int temp;
    scanf(" %d", &temp);
    prefixsum.push_back(temp);
    for(int i = 1 ; i < K ; i ++ )
    {
        scanf(" %d", &temp);
        prefixsum.push_back(prefixsum.back() + temp);
    }
    
    vector<int> contisum; //N개의 연속 합을 저장.
    for(int i = N - 1 ; i < K ; i++)
    {
        if(i-N < 0)
            contisum.push_back(prefixsum[i]);
        else
        {
            contisum.push_back(prefixsum[i] - prefixsum[i-N]);
        }
    }
    
    // 오름차순으로 정렬
    sort(contisum.begin(), contisum.end());
    
    cout << contisum.back();
    
    return 0;
}

'Coding Test > Baekjoon' 카테고리의 다른 글

9020. 골드바흐의 추측  (0) 2024.07.06
1978. 소수 찾기  (0) 2024.07.06
9996. 한국이 그리울 땐 서버에 접속하지  (0) 2023.11.22
11655.ROT13  (1) 2023.11.21
1159.농구 경기  (0) 2023.11.21

블로그의 정보

농담곰담곰이의곰담농

브이담곰

활동하기