记录编号 450835 评测结果 WAWWAAAAAA
题目名称 [Codeforces 819B] B先生和PR移位 最终得分 70
用户昵称 GravatarI love study 是否通过 未通过
代码语言 C++ 运行时间 0.250 s
提交时间 2017-09-16 21:33:40 内存使用 1.08 MiB
显示代码纯文本
#include<iostream>
#include<cmath>
#include<cstdio> 
using namespace std;
int n;
int p[100005],c[100005]; 
int main()
{
	freopen("MrBB1.in","r",stdin);
    freopen("MrBB1.out","w",stdout);
	int i,j;
	cin>>n;
	for (i=1;i<=n;i++)
	cin>>p[i];
	 int L=0,R=0;
    long long r=0,ans;
    for(int i=1;i<=n;i++)
	{
        r+=abs(p[i]-i);
        c[(p[i]-i+n)%n]++; 
        if(p[i]<=i) 
		R++;
        else L++;
    }
    ans=r;
    int d=0;
    for(int k=1;k<n;k++)
	{
        r-=L; 
        r+=R-1; 
        r+=p[(n-k)%n+1]-n+p[(n-k)%n+1]-1;
        L-=c[k]-1;
        R+=c[k]-1;
        if(r<ans)
		{
            d=k;
			ans=r;
        }
    }
    cout<<ans<<" "<<d<<endl;
    fclose(stdin);fclose(stdout);
}