双端队列,滑动窗口

#include
#include
#include
using namespace std;
struct figu
{
    int sum;
    int index;
}fi[1000100];
dequeq1,q2;
int main()
{
    int n,k;
    cin>>n>>k;
    for(int i=1;i<=n;i++)
    {
        cin>>fi[i].sum;
        fi[i].index=i;
    }
    int x;
    for(int i=1;i<=n;i++)
    {
        int x=fi[i].sum;
        while(!q2.empty())
        {
            if(q2.back().sum>=x)
            {
                q2.pop_back();
            }
            else
                break;
        }
        q2.push_back(fi[i]);
        while(q2.front().index=k)
        {
            if(i>k)
                cout<<' ';
            cout<=k)
       {
           if(i>k)
            cout<<' ';
           cout<

 

你可能感兴趣的:(双端队列,滑动窗口)