Pagini recente » Cod sursa (job #2730674) | Cod sursa (job #475653) | Istoria paginii runda/inca_vacanta_x | Cod sursa (job #1214102) | Cod sursa (job #1734996)
#include <iostream>
#include<fstream>
#include<iomanip>
using namespace std;
int i,n,k,j,ke;
double a[30],prob[30][30],sum[30][30],pondere[30][30],suma,probs,rasp;
int main()
{
ifstream f("dezastru.in");
ofstream g("dezastru.out");
f>>n>>ke;
for(i=1;i<=n;i++)
f>>a[i];
for(i=1;i<=k;i++)
for(j=1;j<=n;j++)
{
sum[i][j]=0;
prob[i][j]=0;
pondere[i][j]=0;
}
for(i=1;i<=n;i++)
{
pondere[1][i]=1;
prob[1][i]=a[i];
}
for(i=2;i<=ke;i++)
for(j=i;j<=n;j++)
{
for(k=1;k<j;k++)
{
pondere[i][j]+=pondere[i-1][k];
sum[i][j]+=pondere[i-1][k]*prob[i-1][k];
}
prob[i][j]=sum[i][j]/pondere[i][j];
prob[i][j]*=a[j];
}
for(i=1;i<=n;i++)
{
suma+=prob[ke][i]*pondere[ke][i];
probs+=pondere[ke][i];
}
rasp=suma/probs;
g<<fixed<<setprecision(6)<<rasp;
return 0;
}