본문 바로가기

Algorithm

(C++) - 백준(BOJ) 15921번 : 수찬은 마린보이야!!

반응형

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

 

15921번: 수찬은 마린보이야!!

기댓값 E(X)의 정의는 ‘각 사건이 벌어졌을 때의 이득과 그 사건이 벌어질 확률을 곱한 것을 전체 사건에 대해 합한 값’이다. 다시 말해, 어떤 수 x가 수열에 등장할 확률 P(x) = (x의 등장 횟수) / (전체 수열의 길이)이고, 이때 기댓값은 수열에 등장하는 모든 x에 대해 (x * P(x))를 구해 모두 더한 값이 된다. \(E(X) = \sum_{i}{p_ix_i}\) 예시1을 보자. 평균은 (5+10+10+15+20)/5로 12이며, 기댓값

www.acmicpc.net

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
int main() {
    double n;
    double a[101];
    double avg = 0;
    double exp = 0;
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        cin >> a[i];
        avg += a[i];
        exp += a[i] * 1 / n;
    }
    avg /= n;
    if (exp == 0 || n == 0)
        printf("divide by zero\n");
    else
        printf("%.2f\n", avg / exp);
}
cs