코딩테스트
백준 연속부분최대곱(c++)
leeeehhjj
2024. 2. 17. 13:47
https://www.acmicpc.net/problem/2670
2670번: 연속부분최대곱
첫째 줄은 나열된 양의 실수들의 개수 N이 주어지고, 그 다음 줄부터 N개의 수가 한 줄에 하나씩 들어 있다. N은 10,000 이하의 자연수이다. 실수는 소수점 첫째자리까지 주어지며, 0.0보다 크거나
www.acmicpc.net
#include <iostream>
#include <stdio.h>
#include <algorithm>
using namespace std;
int N;
double D[10000+10];
void InputData(){
cin >> N;
for (int i=0; i<N; i++){
cin >> D[i];
}
}
double solve() {
double pMax = 0;
double m = 0;
for (int i=0; i<N; i++) {
pMax = max(pMax * D[i], D[i]);
m = max(m, pMax);
}
return m;
}
int main(){
double ans = -1;
InputData();// 입력받는 부분
// 여기서부터 작성
ans = solve();
printf("%.3lf\n", ans);// 출력하는 부분
return 0;
}