Search
Duplicate
📗

연속부분최대곱

주차
문제번호
2670
언어
C++
티어
실버
유형
DP
브루트포스
nj_Blog
nj_상태
이해도
100%
풀이
사람
이해도 2
13 more properties

문제접근

dp에 현재까지 가장 큰 곱 결과를 저장
dp에 저장할때, 현재 입력받은 값이 큰지 그 동안 입력된 값이 큰지를 비교하여 선택

놓쳤던 부분

cout.precisoin(), cout << fixed를 통해서 소수점 자리 출력 범위를 설정해줘야했음(문제조건때문에)

코드

2020 KB

0 ms

#include <iostream> using namespace std; int main(void) { int n; double input; double answer = 0; double dp[10001]; ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cout << fixed; cout.precision(3); cin >> n; cin >> input; dp[1] = input; for (int i = 2; i <= n; i++) { cin >> input; if (input > input * dp[i - 1]) dp[i] = input; else dp[i] = dp[i - 1] * input; if (answer < dp[i]) answer = dp[i]; } cout << answer; return (0); }
C++
복사