题目背景
upd:时间限制改为 400ms
加强版题目推荐
题目描述
给定一个长度为 n 的无重复元素序列 a。
对于一个区间 [l,r],我们定义它是好的,有以下条件:
- 定义一个序列 $b=\{ a_l,\max(a_l,a_{l+1}),\max(a_l,a_{l+1},a_{l+2}),\ ...\ ,\max(a_l,a_{l+1},\ ... \ ,a_r)\}$,将该序列进行去重操作后,该序列的长度不超过 k 且大于 1;
 
- max(al,al+1, ... ,ar)=ar。
 
请你解决这样一个问题:对于每一个 i (1≤i≤n),有多少个好的区间 [l,r] 满足 l≤i≤r。
输入格式
第一行两个整数 n,k。
第二行 n 个整数,第 i 个数表示 ai。
输出格式
n 行,每行一个整数,第 i 行的数表示序列中有多少个好的区间 [l,r] 满足 l≤i≤r。
4 2
1 3 2 4
1
2
2
2
提示
样例解释
对于样例 1,满足条件的区间有:
- [1,2];
 
- [2,4];
 
- [3,4]。
 
故当 i=1,2,3,4 时,分别有以下区间满足 l≤i≤r(根据上述的区间编号):
- 1 区间;
 
- 1,2 区间;
 
- 2,3 区间;
 
- 2,3 区间。
 
数据范围
本题采用捆绑测试。
| Subtask | 
特殊性质 | 
Score | 
| 1 | 
n≤200 | 
5 | 
| 2 | 
n≤2000 | 
10 | 
| 3 | 
{a} 递增 | 
| 4 | 
k≤5 | 
12 | 
| 5 | 
k=n | 
13 | 
| 6 | 
n≤3×105 | 
20 | 
| 7 | 
无特殊限制 | 
30 | 
对于 100% 的数据:1≤k≤n≤106,0≤ai≤109。