Cod sursa(job #1628245)

Utilizator tamionvTamio Vesa Nakajima tamionv Data 3 martie 2016 22:11:36
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#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; }