Cod sursa(job #600384)

Utilizator paul_gabryelPaul Buda paul_gabryel Data 1 iulie 2011 15:53:49
Problema Dezastru Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb

#include <cstdio>
#include <fstream>

using namespace std;

int N,K,k,nr,l;
float v[32],f,n;

void bk (){
	
	for(int i=l+1;i+K<=N+k;++i){
		int a=l;
		float b=n;
		if(k<K){
			++k;
			n*=v[i];
			l=i;
			bk();
			--k;
			n=b;
			l=a;
			}
		else{
			n*=v[i];
			++nr;
			f+=n;
			n=b;
			}
		}
	
	}

int main ()
{
	
	ifstream in ("dezastru.in");
	freopen ("dezastru.out","w",stdout);
	in>>N>>K;
	for(int i=1;i<=N;++i)
		in>>v[i];
	n=1;
	k=1;
	l=0;
	bk();
	f/=nr;
	printf("%.6f",f);
	
	return 0;}