Algorithm ๐ง๐ป๐ป/๋ฐฑ์ค(BOJ)
[๋ฐฑ์ค,c++] 10211๋ฒ - Maximum Subarray
dkswnkk
2022. 1. 4. 18:26
๋ฌธ์
10211๋ฒ: Maximum Subarray
ํฌ๊ธฐ N์ธ ์ ์ํ ๋ฐฐ์ด X๊ฐ ์์ ๋, X์ ๋ถ๋ถ ๋ฐฐ์ด(X์ ์ฐ์ํ ์ผ๋ถ๋ถ) ์ค ๊ฐ ์์์ ํฉ์ด ๊ฐ์ฅ ํฐ ๋ถ๋ถ ๋ฐฐ์ด์ ์ฐพ๋ Maximum subarray problem(์ต๋ ๋ถ๋ถ๋ฐฐ์ด ๋ฌธ์ )์ ์ปดํจํฐ ๊ณผํ์์ ๋งค์ฐ ์ ์๋ ค์ ธ ์
www.acmicpc.net
์ฝ๋
#include <iostream>
#include <algorithm>
int dp[1001],arr[1001];
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
int T; cin>>T;
while(T--){
int n; cin>>n;
for(int i=0; i<n; i++){
cin>>arr[i];
}
int ans = arr[0];
dp[0]= arr[0];
for(int i=1; i<n; i++){
dp[i] = max(dp[i-1]+arr[i],arr[i]);
ans = max(dp[i],ans);
}
cout<<ans<<'\n';
}
}
ํ์ด
๋ฐฐ์ด์ ์ฐ์์ ์ธ ์์๋ค์ ๋ถ๋ถ์งํฉ์์ ๊ฐ์ฅ ํฐ ๊ฐ์ ์ฐพ์๋ด๋ฉด ๋ฉ๋๋ค. ๋ฐ๋ก ํฌ๊ฒ ์ค๋ช ํ ๋ถ๋ถ์ ์๊ธฐ์ ์กฐ๊ฑด๋ฌธ๋ง ์ ์ดํด๋ณด๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค.