Cod sursa(job #1734996)

Utilizator Bodo171Bogdan Pop Bodo171 Data 28 iulie 2016 17:25:32
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#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;
}