문제접근
•
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++
복사