๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm ๐Ÿง‘๐Ÿป‍๐Ÿ’ป/๋ฐฑ์ค€(BOJ)

[๋ฐฑ์ค€,c++] 1912๋ฒˆ - ์—ฐ์†ํ•ฉ

by ์•ˆ์ฃผํ˜• 2022. 3. 15.

๋ฌธ์ œ

 

1912๋ฒˆ: ์—ฐ์†ํ•ฉ

์ฒซ์งธ ์ค„์— ์ •์ˆ˜ n(1 ≤ n ≤ 100,000)์ด ์ฃผ์–ด์ง€๊ณ  ๋‘˜์งธ ์ค„์—๋Š” n๊ฐœ์˜ ์ •์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ์ˆ˜์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ์ˆ˜๋Š” -1,000๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 1,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜์ด๋‹ค.

www.acmicpc.net

 

์ฝ”๋“œ

#include <iostream>

using namespace std;

int arr[100001];
int dp[100001];
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    
    int n; cin>>n;
    
    for(int i=0; i<n; i++) cin>>arr[i];
    
    dp[0] = arr[0];
    int ans = dp[0];
    for(int i=1; i<n; i++){
        dp[i] = max(arr[i], dp[i-1]+arr[i]);
        ans = max(ans, dp[i]);
        
    }
    
    cout<<ans;
}

 

ํ’€์ด(7๋ถ„)

(ํ˜„์žฌ ๋ฐฐ์—ด์˜ ๊ฐ’ vs ์ด์ „๊นŒ์ง€์˜ ํ•ฉ + ํ˜„์žฌ ๋ฐฐ์—ด) ์ค‘ ํฐ ๊ฐ’์„ ๊ณ„์† ๋ฉ”๋ชจ์ด์ œ์ด์…˜ ํ•˜๋ฉด์„œ ๊ฒฐ๊ด๊ฐ’์„ ๊ตฌํ•ด ๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋Œ“๊ธ€