Pagini recente » Cod sursa (job #1280491) | Cod sursa (job #1870807) | Cod sursa (job #3041804) | Cod sursa (job #1459535) | Cod sursa (job #1628245)
#include <fstream>
#include <iostream>
#include <iomanip>
#include <vector>
using namespace std;
int main(){
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int n, k;
f >> n >> k;
vector<double> v(n);
for(int i = 0; i < n; ++i){
f >> v[i]; }
vector<vector<double> > d(n, vector<double>(k+1, 0));
vector<vector<int> > nr(n, vector<int>(k+1, 0));
for(int i = 0; i < n; ++i){
d[i][1] = v[i];
nr[i][1] = 1; }
for(int i = 1; i < n; ++i){
for(int j = 1; j <= k; ++j){
d[i][j] += d[i-1][j] + v[i] * d[i-1][j-1];
nr[i][j] += nr[i-1][j] + nr[i-1][j-1]; } }
g << fixed << setprecision(6) << (d[n-1][k] / (double)nr[n-1][k]);
return 0; }