Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
52850 | AK2022071340 | 敏捷排列 | C++ | 解答错误 | 30 | 0 MS | 256 KB | 678 | 2022-07-20 12:03:13 |
#include <bits/stdc++.h> using namespace std; int n,a,b; int A[21]; bool Check() { for(int i=1; i<=n; i++) if(A[i]!=i) return false; return true; } int main() { scanf("%d%d%d",&n,&a,&b); int ans=0; for(int i=1; i<=n; i++) scanf("%d",A+i); if(Check()) { printf("0.00000000000000000000\n"); return 0; } if(b>n*a) { for(int i=1; i<=n; i++) if(A[i]!=i) { for(int j=i+1; j<=n; j++) if(A[j]==i) { swap(A[i],A[j]); ans++; break; } } printf("%d\n",ans*a); } else printf("%d\n",b+a); return 0; }