Cod sursa(job #360279)
Utilizator | Data | 30 octombrie 2009 19:39:19 | |
---|---|---|---|
Problema | Dezastru | Scor | 60 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.71 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream I ("dezastru.in");
ofstream O ("dezastru.out");
int n,l , comb[25];
double s, j, p;
double val[25];
void back (int k);
int main () {
I>>n>>l;
for (int i=1;i<=n;i++)
I>>val[i];
back(1);
O<<s/j;
return 0;
}
void back (int k) {
int i;
for (i=1;i<=n;i++) {
if (comb[k-1]<i) {
comb[k]=i;
if (k==l) {
p=1;
for (int i=1;i<=l;i++)
p=p*val[comb[i]];
s=s+p;
j=j+1;
}
else
back(k+1);
}
}
}