logo AlgoBeat OnlineJudge
登录 注册

#216048. [CSPro 24] 序列查询

内存限制:512 MiB 时间限制:500 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

洛谷的测试数据仅供民间交流使用,非官方测试数据。官方评测链接:https://www.cspro.org/


西西艾弗岛的购物中心里店铺林立,商品琳琅满目。为了帮助游客根据自己的预算快速选择心仪的商品,IT 部门决定研发一套商品检索系统,支持对任意给定的预算 ,查询在该预算范围内()价格最高的商品。如果没有商品符合该预算要求,便向游客推荐可以免费领取的西西艾弗岛定制纪念品。

假设购物中心里有 件商品,价格从低到高依次为 ,则根据预算 检索商品的过程可以抽象为如下序列查询问题。

是一个由 范围内整数组成的序列,满足 。(这个定义中蕴含了 一定小于 。)

基于序列 ,对于 范围内任意的整数 ,查询 定义为:序列 小于等于 的整数里最大的数的下标。具体来说有以下两种情况:

  1. 存在下标 满足

此时序列 中从 均小于等于 ,其中最大的数为 ,其下标为 ,故

此时序列 中所有的数都小于等于 ,其中最大的数为 ,故

表示 的总和,即:

对于给定的序列 ,试计算

输入格式

从标准输入读入数据。

输入的第一行包含空格分隔的两个正整数

输入的第二行包含 个用空格分隔的整数

注意 固定为 ,因此输入数据中不包括

输出格式

输出到标准输出。

样例

样例输入 1

3 10
2 5 8

样例输出 1

15

样例输入 2

9 10
1 2 3 4 5 6 7 8 9

样例输出 2

45

数据范围与提示

样例 1 解释

0 1 2 3 4 5 6 7 8 9
0 1 2 3

如上表所示,

考虑到 以及 ,亦可通过如下算式计算

子任务

的测试数据满足
全部的测试数据满足

提示

若存在区间 满足 ,使用乘法运算 代替将 逐个相加,或可大幅提高算法效率。