Cod sursa(job #726907)
Utilizator | Data | 27 martie 2012 16:54:05 | |
---|---|---|---|
Problema | Dezastru | Scor | 50 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.4 kb |
#include<fstream>
using namespace std;
int v[25],N,K,kk;
double a[25],S=0,P=1;
bool valid(int k)
{return (v[k]>v[k-1]);}
void back(int k)
{for(int i=1;i<=N;i++)
{v[k]=i;
P=P*a[i];
if(valid(k)==1)
if(k==K)
{S=S+P;
kk++;}
else
back(k+1);
P=P/a[i];}}
int main()
{ifstream f("dezastru.in");
ofstream h("dezastru.out");
f>>N>>K;
for(int i=1;i<=N;i++)
f>>a[i];
back(1);
h<<S/kk;
return 0;}