当k = n时,程序输出输入的最后一个数a[n]。()
#include
using namespace std;
const int N = 1000010;
int a[N], q[N];
int main()
{
int n, k;
scanf("%d%d", &n, &k);
for (int i = 0; i < n; i++) scanf("%d", &a[i]);
int head = 0, tail = -1;
for (int i = 0; i < n; i++)
{
if (head <= tail && i - k + 1 > q[head]) head++;
while (head <= tail && a[i] < a[q[tail]]) tail--;
q[++tail] = i;
if (i + 1 >= k) printf("%d ", a[q[head]]);
}
cout << endl;
return 0;
}正确
错误