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;
}

 

posted @ 2018-07-02 08:22  蒟蒻JHY  阅读(267)  评论(0编辑  收藏  举报