社区讨论

进食后人(如果你也60pts

P3406海底高铁参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mhjd6cio
此快照首次捕获于
2025/11/04 00:38
4 个月前
此快照最后确认于
2025/11/04 00:38
4 个月前
查看原帖
十年OI一场空,不开long long见祖宗!!! 还有,用scanf,printf的话一定要记得把%d改成%lld(我就没改
CPP
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1e5+5;
ll n, m, a, b, c, cit[N], p1, p2, ans;
int main(){
 scanf("%lld %lld", &n, &m);//rt
 if(m)
 	scanf("%lld", &p1);//rt
 for(int i=2; i<=m; i++){
 	scanf("%lld", &p2);//rt
 	cit[min(p1, p2)]++; cit[max(p1, p2)]--;//前缀和,从p1到p2 
 	p1=p2;
 }
 for(int i=1; i<n; i++){
 	cit[i]+=cit[i-1];
 	scanf("%lld %lld %lld", &a, &b, &c);//rt
 	if(cit[i])//如果经过 
 		ans+=min(a*cit[i], b*cit[i]+c);
 }
 if(!m || !(m-1))
 	putchar('0');
 printf("%lld\n", ans);//rt
 return 0;
}

回复

0 条回复,欢迎继续交流。

正在加载回复...