全wa求助!!!
查看原帖
全wa求助!!!
481547
Ben_Heinz_Modin楼主2023/3/5 08:59
#include<bits/stdc++.h> 
using namespace std;
typedef long long ll;
ll n,k,dp[150][150],f[150],INF=1e6;
struct kk{
	int l,w;
}a[150];
bool tmp(kk i,kk j){
	return i.l<j.l;
}
int d(int x){
	return abs(a[x].w-a[x-1].w)+abs(a[x].w-a[x+1].w)-abs(a[x-1].w+a[x+1].w);
}
int main(){
	scanf("%d%d",&n,&k);
	for(int i=1;i<=n;i++)
	scanf("%lld%lld",&a[i].l,&a[i].w);
	sort(a+1,a+n+1,tmp);
	memset(dp,INF,sizeof(dp));
	dp[1][0]=0;
	for(int i=2;i<=n;i++)
	{
		f[i]=f[i-1]+abs(a[i].w-a[i-1].w);
		dp[i][0]=f[i];
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=i&&j<=k;j++)
		{
			for(int k=j;k<i;k++)
			dp[i][j]=min(dp[i][j],dp[k-1][j-1]+f[i]-f[k]-d(k));
		}
	}
	printf("%lld",dp[n][k]);
	return 0;
}

样例过了,测试点全wa,蒟蒻求助

2023/3/5 08:59
加载中...