Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
52735 AK2022071367 敏捷排列 C++ 解答错误 30 0 MS 260 KB 611 2022-07-20 11:51:25

Tests(3/10):


#include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=21; int n,a,b,p[N],m,q[N]; bool vis[N]; int calc() { int ans=n; for(int i=1; i<=n; ++i) if(!vis[i]) { --ans,vis[i]=true; for(int j=p[i]; j!=i; j=p[j])vis[j]=true; } return ans; } int main() { cout<<setprecision(20)<<fixed; scanf("%d%d%d",&n,&a,&b); for(int i=1; i<=n; ++i)scanf("%d",&p[i]); double ans=calc()*a; if(b>n*a) return cout<<ans<<endl,0; double x=1.0; for(int i=1; i*b<=ans; ++i) { x=x*0.1; double res=i*b+x*(a*n); ans=min(ans,res); } cout<<ans<<endl; return 0; }


测评信息: