Cod sursa(job #2006267)

Utilizator stefdascalescuStefan Dascalescu stefdascalescu Data 29 iulie 2017 11:14:25
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include<bits/stdc++.h>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int n,k,x,sol;
deque<int>v;
deque<int>poz;
int maxm=-40000,st,sf;
int main()
{
    f>>n>>k;
    for(int i=1;i<=n;++i)
    {
        f>>x;
        if(i>k)
            if(poz[0]==i-k)
            {
                v.pop_front();
                poz.pop_front();
            }
        if(i>=2)
        {
            int z=v.size()-1;
            if(z>0)
            while(v[z]>=x)
            {
                v.pop_back();
                poz.pop_back();
                --z;
                if(z<0)
                    break;
            }
        }
        v.push_back(x);
        poz.push_back(i);
        if(poz[0]==n-k+1)
            if(v[0]>maxm)
                maxm=v[0],st=i-k+1,sf=i;
    }
    g<<st<<" "<<sf<<" "<<maxm;
    return 0;
}