πŸ“¦ Chango/🍣 EDOC

[BOJ][C++] λ°±μ€€ 2670번: μ—°μ†λΆ€λΆ„μ΅œλŒ€κ³±

선달 2021. 11. 3. 07:06
λ°˜μ‘ν˜•

https://www.acmicpc.net/problem/2670

 

2670번: μ—°μ†λΆ€λΆ„μ΅œλŒ€κ³±

첫째 쀄은 λ‚˜μ—΄λœ μ–‘μ˜ μ‹€μˆ˜λ“€μ˜ 개수 N이 주어지고, κ·Έ λ‹€μŒ 쀄뢀터 N개의 μˆ˜κ°€ ν•œ 쀄에 ν•˜λ‚˜μ”© λ“€μ–΄ μžˆλ‹€. N은 10,000 μ΄ν•˜μ˜ μžμ—°μˆ˜μ΄λ‹€. μ‹€μˆ˜λŠ” μ†Œμˆ˜μ  μ²«μ§Έμžλ¦¬κΉŒμ§€ 주어지며, 0.0보닀 ν¬κ±°λ‚˜

www.acmicpc.net

 

문제

N개의 μ‹€μˆ˜κ°€ μžˆμ„ λ•Œ, ν•œ 개 μ΄μƒμ˜ μ—°μ†λœ μˆ˜λ“€μ˜ 곱이 μ΅œλŒ€κ°€ λ˜λŠ” 뢀뢄을 μ°Ύμ•„, κ·Έ 곱을 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. 예λ₯Ό λ“€μ–΄ μ•„λž˜μ™€ 같이 8개의 μ–‘μ˜ μ‹€μˆ˜κ°€ 주어진닀면,

μƒ‰μΉ λœ λΆ€λΆ„μ˜ 곱이 μ΅œλŒ€κ°€ 되며, κ·Έ 값은 1.638이닀.

μž…λ ₯

첫째 쀄은 λ‚˜μ—΄λœ μ–‘μ˜ μ‹€μˆ˜λ“€μ˜ 개수 N이 주어지고, κ·Έ λ‹€μŒ 쀄뢀터 N개의 μˆ˜κ°€ ν•œ 쀄에 ν•˜λ‚˜μ”© λ“€μ–΄ μžˆλ‹€. N은 10,000 μ΄ν•˜μ˜ μžμ—°μˆ˜μ΄λ‹€. μ‹€μˆ˜λŠ” μ†Œμˆ˜μ  μ²«μ§Έμžλ¦¬κΉŒμ§€ 주어지며, 0.0보닀 ν¬κ±°λ‚˜ κ°™κ³ , 9.9보닀 μž‘κ±°λ‚˜ κ°™λ‹€.

좜λ ₯

κ³„μ‚°λœ μ΅œλŒ“κ°’μ„ μ†Œμˆ˜μ  μ΄ν•˜ λ„·μ§Έ μžλ¦¬μ—μ„œ λ°˜μ˜¬λ¦Όν•˜μ—¬ μ†Œμˆ˜μ  μ΄ν•˜ μ…‹μ§Έ μžλ¦¬κΉŒμ§€ 좜λ ₯ν•œλ‹€.

 

풀이

#include <iostream>
#include <algorithm>

using namespace std;

int main () {
    
    int n;
    double arr[10001], d[10001] = {0};
    cin >> n;
    for(int i=0; i<n; i++)
        cin >>arr[i];
    
    d[0] = arr[0];
    for(int i=1; i<n; i++)
        d[i] = max(arr[i], d[i-1]*arr[i]);
    
    sort(d, d+n);
    printf("%.3lf", d[n-1]);
    
    return 0;
}
λ°˜μ‘ν˜•