(백준/c++) 2559 - 수열📃 coding test/◽ 백준2022. 6. 27. 15:24
Table of Contents
728x90
2559번: 수열
첫째 줄에는 두 개의 정수 N과 K가 한 개의 공백을 사이에 두고 순서대로 주어진다. 첫 번째 정수 N은 온도를 측정한 전체 날짜의 수이다. N은 2 이상 100,000 이하이다. 두 번째 정수 K는 합을 구하기
www.acmicpc.net
누적 합
* 가장 큰 값만 찾기 때문에 priority_queue 사용함.(기본 정렬 = less)
* S값보다 크거나 같을 때부터 누적 합을 해주어 queue에 넣어줌.
#include<iostream>
#include<stdlib.h>
#include<queue>
#include<memory.h>
using namespace std;
#define MAX 100'001
int SumArr[MAX], Arr[MAX];
// 구간 합.
int main(void)
{
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int N, S;
priority_queue<int> pq;
cin >> N >> S;
memset(SumArr, 0, sizeof(SumArr));
memset(Arr, 0, sizeof(Arr));
for(int i=1; i<=N; ++i)
{
cin>>Arr[i];
SumArr[i]=Arr[i]+SumArr[i-1];
if(i>=S)
{
pq.emplace(SumArr[i]-SumArr[i-S]);
}
}
cout << pq.top();
return 0;
}
728x90
'📃 coding test > ◽ 백준' 카테고리의 다른 글
(백준/ C++) 11066 - 파일합치기 [너무 어려웠던 ..멘탈 탈탈] (0) | 2022.06.29 |
---|---|
(백준/c++) 16139 - 인간-컴퓨터 상호작용 (0) | 2022.06.27 |
(백준/c++) 10986 - 나머지 합 (0) | 2022.06.24 |
(백준/c++) 11660 - 구간 합 구하기 5 (0) | 2022.06.23 |
(백준/c++) 11659 - 구간 합 구하기 4 (0) | 2022.06.23 |
@핑크코냥 :: 핑크코냥
안 하는 것 보다 낫겠지
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!