@[inkpigeon](/user/750598)
```cpp
#include<bits/stdc++.h>
#define ll long long
#define deb cerr<<"debug\n";
using namespace std;
ll read()
{
short f=1;ll x=0;char s=getchar();
while(s<48||s>57){f=s=='-'?-1:1;s=getchar();}
while(s>=48&&s<=57){x=x*10+s-48;s=getchar();}
return x*f;
}
int a[52],b[52],s[52],f[52][52][2];
int main()
{
int n=read(),c=read();
for(int i=1;i<=n;++i)
{
a[i]=read();b[i]=read();
s[i]=s[i-1]+b[i];
}
memset(f,127,sizeof(f));
f[c][c][0]=0;f[c][c][1]=0;
for(int i=2;i<=n;++i)
{
for(int j=1;i+j-1<=n;++j)
{
int k=i+j-1;
f[j][k][0]=min(f[j+1][k][0]+(a[j+1]-a[j])*(s[j]+s[n]-s[k]),f[j+1][k][1]+(a[k]-a[j])*(s[j]+s[n]-s[k]));
f[j][k][1]=min(f[j][k-1][0]+(a[k]-a[j])*(s[j-1]+s[n]-s[k-1]),f[j][k-1][1]+(a[k]-a[k-1])*(s[j-1]+s[n]-s[k-1]));
}
}
printf("%d",min(f[1][n][0],f[1][n][1]));
return 0;
}
```
by zhaohanwen @ 2023-08-23 19:25:30
您为什么要写成这样`for(int j=1,k=i+j-1;k<=n;++j)`
by zhaohanwen @ 2023-08-23 19:26:25
`f[j][k][0] = min(f[j + 1][k][0] + (a[j + 1] - a[j]) * (s[j] + s[n] - s[k]),`
那里有问题
by typerxiaozhu @ 2023-08-23 19:26:58
@[zhaohanwen](/user/767660) 就是觉得可以少写一个int就放到里面了
by inkpigeon @ 2023-08-23 19:27:36
但是改完后也可以AC@[typerxiaozhu](/user/807832)
by zhaohanwen @ 2023-08-23 19:28:00
@[zhaohanwen](/user/767660) 啊?改完就过了
by inkpigeon @ 2023-08-23 19:28:38
对啊@[inkpigeon](/user/750598)
by zhaohanwen @ 2023-08-23 19:28:57
@[typerxiaozhu](/user/807832) @[zhaohanwen](/user/767660) 谢谢
by inkpigeon @ 2023-08-23 19:29:14
@[zhaohanwen](/user/767660) 哈哈,遇到re我都直接在vs里面跑的,会自己报错
by typerxiaozhu @ 2023-08-23 19:29:23
我一般自己debug@[typerxiaozhu](/user/807832)
by zhaohanwen @ 2023-08-23 19:29:56