比赛 |
CSP2023-J模拟赛 |
评测结果 |
AAAAAAAAAAAAATTTTTTT |
题目名称 |
排列变换 |
最终得分 |
65 |
用户昵称 |
袁书杰 |
运行时间 |
7.389 s |
代码语言 |
C++ |
内存使用 |
12.84 MiB |
提交时间 |
2023-10-18 21:11:50 |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n,p[1000005],pos[1000005],ans,f;
bool flag=true;
int main(){
freopen("permutrans.in","r",stdin);
freopen("permutrans.out","w",stdout);
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++){
cin>>p[i];
if(p[i]!=i){
flag=false;
}
pos[i]=i;
}
if(flag){
cout<<n<<" 0";
return 0;
}
for(int i=1;i<=n;i++){
int minn=0;
for(int j=1;j<=n;j++){
if(p[pos[j]]>=j){
minn++;
}
}
if(minn>ans){
ans=minn;
f=i-1;
}
for(int j=1;j<=n;j++){
pos[j]--;
if(pos[j]==0){
pos[j]=n;
}
}
}
cout<<ans<<" "<<f;
return 0;
}