5 条题解

  • 1
    @ 2022-7-17 15:15:06
    using namespace std;
    const int N=10000;
    int n[N],m[N],k[N];
    int main()
    {
    	int a,b,c,d,f,e=0,g=0;
    	cin>>a;
    	for(int i=1;i<=a;i++)
    	{
    		cin>>n[i]>>m[i];
    	}
    	sort(m+1,m+a+1);
    	sort(n+1,n+a+1);
    	for(int i=1;i<=a;i++)
    	{
    		c=n[i]-i;
    		k[i]=c;
    	}
    	sort(k+1,k+a+1);
        if(a%2==0)
    	{
    		f=k[a/2];
    		d=m[a/2];
    	}
    	else if(a%2!=0)
    	{
    		f=k[(a+1)/2];
    		d=m[(a+1)/2];
    	}
    	for(int i=1;i<=a;i++)
    	{
    		e+=abs(m[i]-d);
    		g+=abs(k[i]-f);
    	}
    	cout<<e+g;
    	return 0;
    }
    

    信息

    ID
    306
    时间
    1000ms
    内存
    128MiB
    难度
    6
    标签
    递交数
    222
    已通过
    64
    上传者