Cod sursa(job #538489)

Utilizator buburuzaLaura S buburuza Data 21 februarie 2011 16:11:59
Problema Dezastru Scor 100
Compilator cpp Status done
Runda contest- Marime 0.77 kb
#include <iostream>
#include <fstream>
using namespace std;

#define MAXN 26

typedef long double real64;

real64 a[MAXN][MAXN], v[MAXN];
int c[MAXN][MAXN];

int main ()
{
    fstream fin ("dezastru.in", ios::in);
    fstream fout ("dezastru.out", ios::out);

    int n, k;

    fin >> n >> k;

    a[0][0] = 1;
    for (int i = 1; i <= n; ++i) {
        fin >> v[i];
        a[i][0] = 1;
        c[i][i] = c[i][0] = 1;
    }

    for (int i = 1; i <= n; ++i) {
        for (int j = 1; j <= i; ++j) {
            a[i][j] = a[i - 1][j] + v[i] * a[i - 1][j - 1];

            c[i][j] = c[i - 1][j - 1] + c[i - 1][j];
        };
        c[i][i] = 1;
    }

    fout << a[n][k] / c[n][k] << endl;

    fin.close ();
    fout.close ();
    return 0;
}