题目描述
一个含有 nnn 项的数列,求出每一项前的 mmm 个数到它这个区间内的最小值。若前面的数不足 mmm 项则从第 111 个数开始,若前面没有数则输出 000。
输入格式
第一行两个整数,分别表示 nnn,mmm。
第二行,nnn 个正整数,为所给定的数列 aia_iai。
输出格式
nnn 行,每行一个整数,第 iii 个数为序列中 aia_iai 之前 mmm 个数的最小值。
输入输出样例
输入 #1
6 2
7 8 1 4 3 2
输出 #1
0
7
7
1
1
3
说明/提示
对于 100%100%100% 的数据,保证 1≤m≤n≤2×1061\le m\le n\le2\times10^61≤m≤n≤2×106,1≤ai≤3×1071\le a_i\le3\times10^71≤ai≤3×107。
这题若用STL来写但不用快读的话会T。
手写版
#include <iostream>
#include <algorithm>
#include <queue>
#include <cstdio>
using namespace std;
const int maxn = 2e6 + 10;
int id[maxn];
int data[maxn];
int a[maxn];
int head, tail;
int n, m;
int main() {
scanf("%d%d", &n, &m);
for(int i = 1; i <= n; i++)