제출 #4548

#제출 시각아이디문제언어결과실행 시간메모리
4548cki86201전봇대 (KOI13_pole)C++98
100 / 100
28 ms1476 KiB
#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<vector>
#include<math.h>
#include<stdlib.h>
#include<set>
#include<ctype.h>
using namespace std;

#define X first
#define Y second
typedef long long ll;
typedef pair<int,int> Pi;

int n;
ll ans;
int p[100010];

ll f(int x)
{
	int i;
	ll ret=0;
	for(i=1;i<n;i++){
		ret+=abs((ll)p[i]-(ll)i*x);
	}
	return ret;
}

int main()
{
	int i;
	scanf("%d",&n);
	for(i=0;i<n;i++)scanf("%d",p+i);
	int st=0,en=1e9,mi;
	while(st<=en){
		mi=(st+en)>>1;
		ll t=f(mi);
		if(t<f(mi+1))ans=t,en=mi-1;
		else st=mi+1;
	}
	printf("%lld\n",ans);
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...