Cod sursa(job #3367417)

Utilizator epituPitu Eduard epitu Data 7 octombrie 2026 17:34:28
Problema Secventa Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.21 kb
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
deque <pair<int, int>> d;
ifstream fin ("secventa.in");
ofstream fout ("secventa.out");
pair <int,int> p;
int n, k, a[1000005], pr, poz1, poz2,  ma, i;
int main()
{
    fin >> n >> k;
    for (i=1; i<=n; i++)
        fin >> a[i];
        ma=-100000;
    for (i=1; i<=n; i++)
    {
        if (!d.empty() && i-d.front().second+1==k)
        {
            if (ma<d.front().first)
            {
                ma=d.front().first;
                poz1=d.front().second;
                poz2=i;
            }

            d.pop_front();}
pr=i;
            while (!d.empty() && a[i]<d.back().first)
            {
                pr=d.back().second;
                d.pop_back();
            }
            p.first=a[i];
            p.second=pr;
            d.push_back(p);
              if (!d.empty() && i-d.front().second+1==k)
        {
            if (ma<d.front().first)
            {
                ma=d.front().first;
                poz1=d.front().second;
                poz2=i;
            }

            d.pop_front();}

        }

        fout << poz1 << " " << poz2 << " " << ma;
        return 0;
    }