https://www.acmicpc.net/problem/2670
크게 어렵다고 느껴지는 부분은 없는 문제였다.
#include <bits/stdc++.h>
using namespace std;
int n;
double num;
double maxValue = 0;
vector<double> v;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
cin >> n;
for (int i = 0; i < n; i++) {
cin >> num;
v.push_back(num);
}
double value = 1;
for (double i : v) {
maxValue = max(maxValue, i); //i 하나가 가장 클 수 있으므로 작성.
if (value * i < 1) {
value = 1; //지금까지 구한 값이 1보다 작다면 이미 이후에 곱하는 값은 더 작아진다. 이때 max랑 비교하면 안된다.
}
else {
value = value * i;
maxValue = max(maxValue, value);
}
}
cout << fixed;
cout.precision(3);
cout << maxValue << '\n';
}
'백준 문제 풀이 & C++ 공부' 카테고리의 다른 글
백준 14002 C++ (0) | 2025.02.22 |
---|---|
백준 11053 C++ (0) | 2025.02.22 |
백준 14003 C++ (0) | 2025.02.22 |
백준 1561 C++ (0) | 2025.02.17 |
백준 1072 C++ (0) | 2025.02.10 |