ARC-100 C - Linear Approximation

题面在这里!

    可以看成点集{a[i]-i}和b之间距离的和,于是找到中位数就可以直接算了2333.

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=200005;

int a[N],n,num;
ll ans=0;

int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++) scanf("%d",a+i),a[i]-=i;
	sort(a+1,a+n+1),num=a[(n+1)>>1];
	for(int i=1;i<=n;i++) ans+=(ll)abs(num-a[i]);
	cout<<ans<<endl;
	return 0;
}

猜你喜欢

转载自www.cnblogs.com/JYYHH/p/9252153.html