题解 AT2287 【Walk and Teleport】
rui_er
2019-09-19 18:18:08
~~真心不明白为什么这题是绿题,只是一个模拟。~~
# 读懂题意是关键
我第一次提交的时候对题面理解有误,加了一句```sort(x, x+n);```,结果WA了很多测试点。其实这里是需要按照顺序到达每个地点的QAQ。
# 模拟方法
对于每一个地点,判断两种方案中耗费疲劳值最少的方案,详见代码。
```cpp
#include <iostream>
using namespace std;
#define ll long long
int main()
{
ll n, a, b;
cin>>n>>a>>b;
ll x[100001];
for(ll i=1;i<=n;i++) cin>>x[i];
ll sum = 0;
for(ll i=1;i<n;i++)
{
ll l = x[i+1] - x[i];
sum += min(b, a*l);
}
cout<<sum<<endl;
return 0;
}
```