题目描述
给定一个长度为n的数字序列,对于每一个1<=k<=n,希望能求解出所有长度为k的连续子序列的最大值中的最小值。
输入描述:
第一行数字n
接下来一行是一个长度为n的数字序列
1<=n<=100000, 0<=ai<=10^5
输出描述:
一行n个数字,第i个数字表示k=i时的答案。
示例1:
输入
6
1 3 2 4 6 5
输出
1 3 3 4 6 6
解析1:暴力求解
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n;
cin >> n;
vector<int>numVec(n, 0);
for (int i = 0; i < n; ++i)
cin >> numVec[i];
//求序列n的最大值、最小值
int maxOfAll = numVec[0];
int minOfAll = numVec[0];
for (int i = 1; i < n; ++i)
{
if (maxOfAll < numVec[i])
maxOf