Skip to content

Commit

Permalink
BOJ-EX: 5/18/2024, 12:52:27 PM
Browse files Browse the repository at this point in the history
  • Loading branch information
fkdl0048 committed May 18, 2024
1 parent d3cea99 commit 0d65bfc
Show file tree
Hide file tree
Showing 3 changed files with 95 additions and 0 deletions.
52 changes: 52 additions & 0 deletions 2559번: 수열/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# 2559번: 수열 - <img src="https://static.solved.ac/tier_small/8.svg" style="height:20px" /> Silver III

<!-- performance -->

<!-- 문제 제출 후 깃허브에 푸시를 했을 때 제출한 코드의 성능이 입력될 공간입니다.-->

<!-- end -->

## 문제

[문제 링크](https://boj.kr/2559)


<p>매일 아침 9시에 학교에서 측정한 온도가 어떤 정수의 수열로 주어졌을 때, 연속적인 며칠 동안의 온도의 합이 가장 큰 값을 알아보고자 한다.</p>

<p>예를 들어, 아래와 같이 10일 간의 온도가 주어졌을 때, </p>

<p>3 -2 -4 -9 0 3 7 13 8 -3</p>

<p>모든 연속적인 이틀간의 온도의 합은 아래와 같다.</p>

<p style="text-align: center;"><img alt="" src="https://upload.acmicpc.net/563b6bfd-12ff-4275-a869-90fdd43b6deb/-/preview/" style="width: 259px; height: 73px;"></p>

<p>이때, 온도의 합이 가장 큰 값은 21이다. </p>

<p>또 다른 예로 위와 같은 온도가 주어졌을 때, 모든 연속적인 5일 간의 온도의 합은 아래와 같으며, </p>

<p style="text-align: center;"><img alt="" src="https://upload.acmicpc.net/cb8d846c-2f90-475a-8901-1fb69de87397/-/preview/" style="height: 80px; width: 259px;"></p>

<p>이때, 온도의 합이 가장 큰 값은 31이다.</p>

<p>매일 측정한 온도가 정수의 수열로 주어졌을 때, 연속적인 며칠 동안의 온도의 합이 가장 큰 값을 계산하는 프로그램을 작성하시오. </p>



## 입력


<p>첫째 줄에는 두 개의 정수 N과 K가 한 개의 공백을 사이에 두고 순서대로 주어진다. 첫 번째 정수 N은 온도를 측정한 전체 날짜의 수이다. N은 2 이상 100,000 이하이다. 두 번째 정수 K는 합을 구하기 위한 연속적인 날짜의 수이다. K는 1과 N 사이의 정수이다. 둘째 줄에는 매일 측정한 온도를 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -100 이상 100 이하이다. </p>



## 출력


<p>첫째 줄에는 입력되는 온도의 수열에서 연속적인 K일의 온도의 합이 최대가 되는 값을 출력한다.</p>



## 소스코드

[소스코드 보기](수열.cpp)
43 changes: 43 additions & 0 deletions 2559번: 수열/수열.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
/* ************************************************************************** */
/* */
/* ::: ::: ::: */
/* Problem Number: 2559 :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: fkdl4878 <boj.kr/u/fkdl4878> +#+ +#+ +#+ */
/* +#+ +#+ +#+ */
/* https://boj.kr/2559 #+# #+# #+# */
/* Solved: 2024/05/18 12:17:02 by fkdl4878 ### ### ##.kr */
/* */
/* ************************************************************************** */

#include <bits/stdc++.h>
using namespace std;

int main(){
ios::sync_with_stdio(0);
cin.tie(0);

int n, k;
cin >> n >> k;
vector<int> v(n);

for (int i = 0; i < n; i++)
{
cin >> v[i];
}

int sum = 0, ans = 0;
for (int i = 0; i < k; i++)
{
sum += v[i];
}

ans = sum;
for (int i = k; i < n; i++)
{
sum += v[i] - v[i - k];
ans = max(ans, sum);
}

cout << ans;
}
Binary file added 2559번: 수열/수열.exe
Binary file not shown.

0 comments on commit 0d65bfc

Please sign in to comment.