没有用快读,不知道会不会超时
#include<cstdio>
#include<algorithm>
using namespace std;
const int N = 1e5 + 10;
int n, m, a, b, c, t[N];
int p1, p2;
unsigned long long sum, tn;
int main()
{
scanf("%d%d", &n, &m);
for(int i = 0; i < m; i ++) //记录端点
{
scanf("%d", &p2);
if(i != 0)
{
if(p1 < p2)
{
t[p1] ++;
t[p2] --;
}
else
{
t[p2] ++;
t[p1] --;
}
}
p1 = p2;
}
for(int i = 1; i < n; i ++) //前缀和 + 各段铁路最低票价
{
tn += t[i];
scanf("%d%d%d", &a, &b, &c);
sum += min(a * tn, c + b * tn);
}
printf("%d\n", sum);
}