5 条题解

  • 3
    @ 2022-7-17 15:13:00
    #include<bits/stdc++.h>
    using namespace std;
    int a[1000000],x[100000];
    int main()
    {
    	int n,k,b,cnt=0;
    	cin>>n;
    	for(int i=0;i<n;i++)cin>>x[i]>>a[i];
    	for(int i=0;i<n-1;i++)
    	{
    		k=i;
    		for(int j=i+1;j<n;j++)
    		{
    			if(a[k]>a[j])k=j;
    		}
    		if(k!=i)
    		{
    			swap(a[k],a[i]);
    		}
    	}
    	b=a[n/2];
    	for(int i=0;i<n;i++)
    	{
    		a[i]-=b;
    		a[i]=abs(a[i]);
    		cnt+=a[i];
    	}
    	for(int i=0;i<n-1;i++)
    	{
    		k=i;
    		for(int j=i+1;j<n;j++)
    		{
    			if(x[k]>x[j])k=j;
    		}
    		if(k!=i)
    		{
    			swap(x[k],x[i]);
    		}
    	}
    	for(int i=0;i<n;i++)
    	{
    		x[i]-=i;
    	}
    	for(int i=0;i<n-1;i++)
    	{
    		k=i;
    		for(int j=i+1;j<n;j++)
    		{
    			if(x[k]>x[j])k=j;
    		}
    		if(k!=i)
    		{
    			swap(x[k],x[i]);
    		}
    	}
    	b=x[n/2];
    	for(int i=0;i<n;i++)
    	{
    		x[i]-=b;
    		x[i]=abs(x[i]);
    		cnt+=x[i];
    	}
    	cout<<cnt;
    }
    
    
    • 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;
      }
      
      • 0
        @ 2023-4-27 9:28:40

        a = int(input()) m = [0] * a n = [0] * a sumn = 0 for i in range(a): b = input().split() n[i] = int(b[0]) m[i] = int(b[1])

        n.sort() for l in range(a): n[l] -= l n.sort() m.sort() for j in range(a): sumn += int(abs(m[j] - m[a // 2])) sumn += int(abs(n[j] - n[a // 2])) print(sumn)

        • 0
          @ 2022-7-17 15:25:44
          #include <bits/stdc++.h>
          using namespace std;
          int main()
          {
          	int n;
          	cin>>n;
          	int a[100000],b[10000];
          	for (int m=1;m<=n;m++)
          	{
          		cin>>a[m]>>b[m];
          		
          	}
          	for (int i=1;i<=n;i++)
          	{
          		for (int j=n;j>i;j--)
          		{
          			if (b[j]<b[j-1])
          			{
          				swap(b[j],b[j-1]);
          				swap(a[j],a[j-1]);
          			}
          		}
          	}
          	int s=0;
          	for (int i=1;i<=n;i++)
          	{
          		if (n%2==0)
          			s=s+abs(b[i]-b[n/2]);
          		if (n%2!=0)
          			s=s+abs(b[i]-b[n/2+1]);
          	}
          	sort(a+1,a+n+1);
          	int h=0;
          	for (int i=1;i<=n;i++)
          	{
          		a[i]=a[i]-h;
          		h++;
          	}
          	sort(a+1,a+n+1);
          	int x=a[n/2+1];
          	for (int i=1;i<=n;i++)
          	{
          		s=s+abs(a[i]-x);
          	}
          	cout<<s;
          	return 0;
          }
          
          • -1
            @ 2025-4-14 11:41:45
            #include<cstdio>
            #include<algorithm>
            #include<cmath>
            using namespace std;
            int n,x[10005],y[10005],ans=0,rx,ry;
            int main()
            {
            	scanf("%d",&n);
            	for(int i=1;i<=n;i++) scanf("%d%d",x+i,y+i);
            	sort(x+1,x+n+1); sort(y+1,y+n+1);
            	for(int i=1;i<=n;i++) x[i]-=i;
            	sort(x+1,x+n+1);
            	if(!n%2)
            	{
            		rx=(x[n/2]+x[n/2+1])/2;
            		ry=(y[n/2]+y[n/2+1])/2;
            		}
            	else
            	{
            		rx=x[n/2+1];
            		ry=y[n/2+1];
            	}
            	for(int i=1;i<=n;i++) ans+=abs(x[i]-rx)+abs(y[i]-ry);
            	printf("%d",ans);
            	 return 0; 
            } 
            
            • 1

            信息

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