문제링크 : https://www.acmicpc.net/problem/2670
#include <bits/stdc++.h>
using namespace std;
#define ll long long
double dp[10000];
double arr[10000];
int main(void) {
ios_base::sync_with_stdio(false);
cin.tie(0);
int N;
cin >> N;
double result = 0.0;
for(int i=0; i<N; i++)
{
cin >> arr[i];
if(i==0)
{
dp[i] = arr[i]; //초기값
}
else
{
dp[i] = max(arr[i], dp[i-1] * arr[i]); //최대값 갱신
}
result = max(dp[i], result);
}
printf("%.3lf", result);
return 0;
}
수를 실수로 처리해야 한다.
평소에는 출력할때 cout을 사용하지만, 소수 셋째자리 출력하는 방법이 번거로워서 printf를 사용해서 출력했다.
'백준 > 실버' 카테고리의 다른 글
[백준 16112번] 5차 전직 (C++) (0) | 2023.03.08 |
---|---|
[백준 5212번] 지구 온난화 (C++) (0) | 2023.03.05 |
[백준 19583번] 싸이버개강총회 (C++) (0) | 2023.03.02 |
[백준 1802번] 종이 접기 (C++) (0) | 2023.03.01 |
[백준 2548번] 대표 자연수 (C++) (0) | 2023.02.26 |