본문 바로가기
백준 문제 풀이 & C++ 공부

백준 2670 C++

by daisy0461 2025. 2. 22.

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