Cod sursa(job #2431126)
| Utilizator | Data | 18 iunie 2019 11:15:17 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 10 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.97 kb |
#include<fstream>
using namespace std;
ifstream cin("dezastru.in");
ofstream cout("dezastru.out");
int st[1000],n,k,i,o,perm=0;
bool valid, succesor;
float v[1000],pe,p=1;
int main()
{
k=1;
cin>>n>>o;
for(i=1;i<=n;i++)cin>>v[i];
while(k)
{
do{
valid=1;
if(st[k]<n)
{
st[k]++;
succesor=1;
}else succesor=0;
for(i=1;i<k;i++)
{
if(st[i]==st[k])
{
valid=0;
}
}
}while(!valid&&succesor);
if(succesor)
{
if(k==n)
{
p=1;
for(i=1;i<=o;i++)
{
p=p*v[st[i]];
}
perm++;
pe=pe+p;
}
else
{
k++;st[k]=0;
}
}
else k--;
}
cout<<pe/perm;
}
