小蓝负责一家工厂的原料采购。
工厂有一辆运货卡车,其容量为 m 。
工厂附近的采购点都在同一条路的同一方向上,一共有 n 个,每个采购点 和工厂的距离各不相同。其中,第 i 个采购点的价格为 ai ,库存为 bi ,距离为 ci 。
卡车每行驶一单位长度的路径就需要额外花费 o 。(返程没有花费,你也可 以认为 o 实际是行驶两单位长度的花费)
请计算将卡车装满最少需要花费多少钱,如果没有任何方案可以装满请输 出 −1 。
输入的第一行包含三个正整数 n, m, o ,相邻整数之间使用一个空格分隔。 接下来 n 行,每行包含三个正整数 ai , bi , ci 表示一个采购点,相邻整数之间 使用一个空格分隔。
输出一行包含一个整数表示答案,即装满卡车所需的最小花费 。
3 5 1 99 9 1 3 4 99 1 2 190
201
【评测用例规模与约定】
对于 40% 的评测用例,n ≤ 5000 ,m ≤ 50000 ;
对于 60% 的评测用例,m ≤ 105 ;
对于所有评测用例,1 ≤ n ≤ 105 ,1 ≤ m, o ≤ 109 ,1 ≤ ai , bi , ci ≤ 109 ,保 证对于 i > 1 ,一定有 ci−1 < ci 。
2025年第十六届蓝桥杯软件赛省赛C/C++研究生组真题
试题 A: 数位倍数 (本题总分:5 分)
【问题描述】
请问在 1 至 202504 (含)中,有多少个数的各个数位之和是 5 的整数倍。 例如:5 、19 、8025 都是这样的数。
【答案提交】
这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个 整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
试题 B: IPv6 (本题总分:5 分)
【问题描述】
小蓝最近在学习网络工程相关的知识。他最近学习到,IPv6 地址本质上是 一个 128 位的二进制数,而字符串形式的 IPv6 地址是由被冒号分开的八段 16 进制数组成的, 例如,下面每行是一个字符串形式的 IPv6 地址:
0000:0000:0000:0000:0000:0000:0000:0000
0000:0001:0000:0000:0000:0001:0000:0000
0000:0001:00ab:0000:0023:0000:0a00:0e00
0000:0000:00ab:0000:000a:0001:0a00:0e00
0000:0000:00ab:0000:0000:0001:0a00:0e00
其中,每一段最长 4 位,且每一段的前导零都可以去掉(如果 4 位都为 0 需要写成 0)。
另外,IPv6 地址还可以将其中相邻的值为 0 的段合并压缩起来,用两个冒 号来表示,不过只能压缩一段。
例如上述地址最短的压缩后的形式分别为
::
0:1::1:0:0
0:1:ab::23:0:a00:e00
::ab:0:a:1:a00:e00
0:0:ab::1:a00:e00
小蓝想知道, 所有 IPv6 地址的最短压缩形式的长度的和为多少?由于答案 很大(甚至超过了 128 位二进制整数的范围),请填写答案时填写这个总和除以 109 + 7 的余数。
【答案提交】
这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个 整数(在 0 到 109 + 6 的范围内),在提交答案时只填写这个整数,填写多余的 内容将无法得分。