比赛 2025.12.13 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 排列变换 最终得分 100
用户昵称 梦那边的美好CE 运行时间 0.935 s
代码语言 C++ 内存使用 7.63 MiB
提交时间 2025-12-13 10:13:17
显示代码纯文本
#include<bits/stdc++.h>
#define int long long
using namespace std;

int n,a[2010801],dif[2010801],nans,ans=0-INT64_MAX,pos,l,r;

signed main(){
	freopen("permutrans.in","r",stdin);freopen("permutrans.out","w",stdout);
	ios::sync_with_stdio(false);cin.tie(0);
	cin>>n;
	for(int i=1;i<=n;i++)cin>>a[i];
	for(int i=1;i<=n;i++){
		l=1-i+n;l%=n;
		r=a[i]-i+n;r%=n;
		if(l<=r){
			dif[l]++;dif[r+1]--;
		}else{
			dif[l]++;dif[0]++;
			dif[n]--;dif[r+1]--;
		}
	}
	for(int i=0;i<n;i++){
		nans+=dif[i];
		if(nans>ans){
			pos=i;ans=nans;
		}
	}
	cout<<ans<<" "<<pos;
	return 0;
}