๋งค์ผ ์์นจ 9์์ ํ๊ต์์ ์ธก์ ํ ์จ๋๊ฐ ์ด๋ค ์ ์์ ์์ด๋ก ์ฃผ์ด์ก์ ๋, ์ฐ์์ ์ธ ๋ฉฐ์น ๋์์ ์จ๋์ ํฉ์ด ๊ฐ์ฅ ํฐ ๊ฐ์ ์์๋ณด๊ณ ์ ํ๋ค.
์๋ฅผ ๋ค์ด, ๋ค์๊ณผ ๊ฐ์ด 10์ผ ๊ฐ์ ์จ๋๊ฐ ์ฃผ์ด์ก์ ๋, 3 -2 -4 -9 0 3 7 13 8 -3 ๋ชจ๋ ์ฐ์์ ์ธ ์ดํ๊ฐ์ ์จ๋์ ํฉ์ ๋ค์๊ณผ ๊ฐ๋ค.
์ด๋, ์จ๋์ ํฉ์ด ๊ฐ์ฅ ํฐ ๊ฐ์ 21์ด๋ค.
๋งค์ผ ์ธก์ ํ ์จ๋๊ฐ ์ ์์ ์์ด๋ก ์ฃผ์ด์ก์ ๋, ์ฐ์์ ์ธ ๋ฉฐ์น ๋์์ ์จ๋์ ํฉ์ด ๊ฐ์ฅ ํฐ ๊ฐ์ ๊ณ์ฐํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ ์งธ ์ค์๋ ๋ ๊ฐ์ ์ ์ N๊ณผ K๊ฐ ํ ๊ฐ์ ๊ณต๋ฐฑ์ ์ฌ์ด์ ๋๊ณ ์์๋๋ก ์ฃผ์ด์ง๋ค.
์ฒซ ๋ฒ์งธ ์ ์ N์ ์จ๋๋ฅผ ์ธก์ ํ ์ ์ฒด ๋ ์ง์ ์์ด๋ค. N์ 2์ด์ 100,000 ์ดํ์ด๋ค.
๋ ๋ฒ์งธ ์ ์ K๋ ํฉ์ ๊ตฌํ๊ธฐ ์ํ ์ฐ์์ ์ธ ๋ ์ง์ ์์ด๋ค. K๋ 1๊ณผ N ์ฌ์ด์ ์ ์์ด๋ค.
๋ ์งธ ์ค์๋ ๋งค์ผ ์ธก์ ํ ์จ๋๋ฅผ ๋ํ๋ด๋ N๊ฐ์ ์ ์๊ฐ ๋น์นธ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค. ์ด ์๋ค์ ๋ชจ๋ -100์ด์ 100์ดํ์ด๋ค.
์ถ๋ ฅ
์ฒซ ์งธ ์ค์๋ ์จ๋์ ์์ด์์ ์ฐ์์ ์ธ K์ผ์ ์จ๋์ ํฉ์ด ์ต๋๊ฐ ๋๋ ๊ฐ์ ์ถ๋ ฅํ๋ค.
1ํธ (์ฑ๊ณต)
#include <iostream>
using namespace std;
int main(void){
//freopen("input.txt", "rt", stdin);
int n, k, value, hap = 0;
int max = -2147000000;
cin >> n >> k;
int v[n];
for(int i = 0; i < n; ++i){
cin >> value;
v[i] = value;
}
for(int i = 0; i < n - 1; ++i){
hap = v[i] + v[i+1];
if(hap > max){
max = hap;
}
}
cout << max;
return 0;
}
2ํธ(๊ฐ์ ํ์ด)
1. vector ์ฌ์ฉ
2. sum = a[0] + a[1] ๐ ์ดํ sum = sum + (a[2] - a[0]), k๋งํผ ์ฆ๊ฐํด์ ๋ฐ๋ณต
#include <iostream>
#include <vector>
using namespace std;
int main(void){
freopen("input.txt", "rt", stdin);
int n, k, sum = 0, max;
cin >> n >> k;
vector<int> a(n);
for(int i = 0; i < n; ++i){
cin >> a[i];
}
for(int i = 0; i < k; ++i){
sum += a[i];
}
max = sum;
for(int i = k; i < n; ++i){
sum = sum + (a[i] - a[i-k]);
if(sum > max) max = sum;
}
cout << max;
return 0;
}
'๐ง ์ฝ๋ฉํ ์คํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ธํ๋ฐ C++] 24. Jolly Jumpers (0) | 2024.04.23 |
---|---|
[์ธํ๋ฐ C++] 23. ์ฐ์ ๋ถ๋ถ ์ฆ๊ฐ์์ด (0) | 2024.04.22 |
[์ธํ๋ฐ C++] 21. ์นด๋๊ฒ์ (0) | 2024.04.22 |
[์ธํ๋ฐ C++] 20. ๊ฐ์๋ฐ์๋ณด (1) | 2024.04.05 |
[์ธํ๋ฐ C++] 19. ๋ถ๋ ธ ์ ๋ฐ์ (0) | 2024.04.05 |