提交时间:2022-07-20 12:39:33

运行 ID: 52980

#include <bits/stdc++.h> using namespace std; const int S=1e5; int n,a,b,s[22],cnt; long double res=1,tt,ttt; long double ans=0; int main() { ios::sync_with_stdio(false); cin.tie(0),cout.tie(0); cin>>n>>a>>b; for(int i=1;i<=n;i++) cin>>s[i],cnt+=s[i]!=i; cnt--; if(cnt==-1){ cout<<"0.00000000000000000000"<<endl;return 0;} if(b>n*a){ cout<<cnt*a<<".00000000000000000000"<<endl;return 0;} for(int i=2;i<=n;i++) res*=i; tt=1.0/res,ttt=1; for(int i=1;i<=S;i++) ans+=1.0*ttt/res,tt=tt*res,ttt*=(res-i-1); ans*=b; cout<<setprecision(20)<<fixed<<ans; return 0; }