Cod sursa(job #2347957)

Utilizator IoanStoicaStoica Ioan IoanStoica Data 19 februarie 2019 11:33:37
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <bits/stdc++.h>
#define D 500005
using namespace std;

ifstream f("secventa.in");
ofstream g("secventa.out");

struct con
{
    int val,poz;
}nr,maxim;
int n,k,i;
deque <con> a;

int main()
{
    f>>n>>k;
    for(i=1;i<k;i++)
    {
        f>>nr.val;nr.poz=i;
        while(!a.empty() && nr.val<=a.back().val)
            a.pop_back();
        a.push_back(nr);
    }
    for(i=k;i<=n;i++)
    {
        f>>nr.val;nr.poz=i;
        while(!a.empty() && nr.val<=a.back().val)
            a.pop_back();
        a.push_back(nr);
        if(a.front().val>maxim.val)
            maxim=a.front();
        if(a.front().poz<=i-k+1)
            a.pop_front();
    }
    g<<maxim.poz<<" "<<maxim.poz+k-1<<" "<<maxim.val<<"\n";
}