Cod sursa(job #149021)
| Utilizator | Data | 5 martie 2008 11:06:26 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.43 kb |
#include<stdio.h>
int n,K,nr=0,i;
double P=0,a[50];
void back(int k,int poz,double S){
if(k!=K+1){
for(i=poz+1;i<n-K+k+1;i++)
back(k+1,i,S*a[i]);
}
else{
P+=S;
nr++;
return ;
}
}
int main(){
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d %d",&n,&K);
for(i=0;i<n;++i)
scanf("%lf",&a+i);
back(1,0,1);
P=nr;
printf("%.6lf",P);
fclose(stdout);
return 0;
}
