Pagini recente » Cod sursa (job #1657414) | Istoria paginii runda/simci2 | Cod sursa (job #1924569) | Cod sursa (job #1708134) | Cod sursa (job #554282)
Cod sursa(job #554282)
#include <fstream>
using namespace std;
ifstream in("dezastru.in");
ofstream out("dezastru.out");
int n,k,rez[1<<10],factmod=1;
float p[1<<10],st=0;
int factm(){
int i;
for(i=k+1;i<=n;i++){
factmod=factmod*i;
}
}
void bkt(int x){
int i,j;
float pc=1.0;
if(x==k+1){
for(i=1;i<=k;i++){
pc=pc*p[rez[i]];
}
st+=pc;
return;
}
for(i=rez[x-1]+1;i<=n;i++){
rez[x]=i;
bkt(x+1);
}
}
void citire(){
int i;
for(i=1;i<=n;i++){
in>>p[i];
}
}
void prelucrare(){
bkt(1);
}
int main(){
in>>n>>k;
citire();
prelucrare();
factm();
out<<st/factmod;
return 0;
}