题目 20416

股票行情

查看题解 ↗GitHub ↗如何评测
题号
20416
时间限制
10000 ms
内存限制
256 MB
标签
比赛CSP-S
来源
CSP-S 国外模拟赛 34 - T2

第 2 题 股票行情 (stockquotes)

时间限制 10 s · 空间限制 256 MB · 59 个测试点 · 全文比较(过滤行末空格及文末回车)

本题使用文件输入输出:输入文件 stockquotes.in,输出文件 stockquotes.out。

  • 题目代号:not
  • 时间限制:10 s,内存限制:256 MB

题目描述

Bajtex 公司在 NN 天前在 Bajtocka 证券交易所发行了股票。为了吸引新的股东投资,公司除了强调股票能带来收益外,还想向潜在投资者展示股价一直在上涨。为此,他们决定挑选一个 KK-区间——即连续 KK 天的行情,且股价在这 KK 天内严格上涨——来展示这些数据。现在他们想知道,对于不同的 KK 值,各有多少个这样的 KK-区间。

例如,考虑 Bajtex 公司如下的股价:

第 1 … 10 天:4, 3, 5, 6, 7, 7, 4, 5, 6, 4(B$)。

  • 若只看连续两天(2-区间),共有 5 种:(2, 3), (3, 4), (4, 5), (7, 8), (8, 9)。注意不能选 (5, 6),因为股价没有上涨,只是持平。
  • 若看连续三天(3-区间),共有 3 种:(2, 3, 4), (3, 4, 5), (7, 8, 9)。不能选 (1, 2, 3),因为第 1 天到第 2 天出现了下跌。

你的任务是:对不同的 KK,计算给定序列中的 KK-区间个数。

输入格式

第一行一个自然数 NN(1≤N≤500 0001 \le N \le 500\,000),表示 Bajtex 公司上市的天数。

第二行包含 NN 个非负整数 AiA_i(0≤Ai≤1090 \le A_i \le 10^9),以单个空格分隔,表示连续各天的股价。

第三行一个自然数 QQ(1≤Q≤500 0001 \le Q \le 500\,000),表示询问数量。

接下来 QQ 行,每行一个自然数 KiK_i(1≤Ki≤N1 \le K_i \le N),表示询问 KiK_i-区间的数量。

输出格式

输出 QQ 行,每行一个整数,第 ii 行表示 KiK_i-区间的数量。

样例

样例 1

输入:

文本
10
4 3 5 6 7 7 4 5 6 4
5
2
3
1
4
5

输出:

文本
5
3
10
1
0

样例 2

输入:

文本
5
1 2 3 4 5
5
5
4
3
2
1

输出:

文本
1
2
3
4
5

样例 3

输入:

文本
10
1 1 2 2 3 3 4 4 5 5
4
3
2
10
1

输出:

文本
0
4
0
10

样例 4

输入:

文本
10
10 9 8 7 6 5 4 3 2 1
4
1
10
5
2

输出:

文本
10
0
0
0

样例 5

输入:

文本
10
1 2 3 4 5 1 2 3 4 5
5
3
2
5
10
4

输出:

文本
6
8
2
0
4

其余样例:测试 not0f 中 N=500 000N = 500\,000,行情为 [1,2,3,…,998,999,0][1, 2, 3, \dots, 998, 999, 0] 重复 500 次,Q=500 000Q = 500\,000,第 ii 个询问问 ii-区间的数量。

数据范围与子任务

额外限制 分值
Q=1Q = 1,只询问 2-区间 17
Q=1Q = 1 47

完整数据满足 1≤N,Q≤500 0001 \le N, Q \le 500\,000。

数据下载

题目 20416 的公开数据

正在读取文件列表…

常用命令

题目 20416 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。