Cod sursa(job #699750)
| Utilizator | Data | 29 februarie 2012 21:09:01 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.39 kb |
#include<fstream>
#define dim 30
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
double v[dim],s;
int x[dim];
bool b[dim];
int n,c,i,nr;
void back(int k,int x,double p){
if(k==c){
s+=p;
nr++;
return;
}
for(int i=x;i<=n-c+k;++i)
back(k+1,i+1,p*v[i]);
}
int main (){
f>>n>>c;
for(i=0;i<n;i++)
f>>v[i];
back(0,0,1);
g<<s/nr;
return 0;
}