Cod sursa(job #2907928)

Utilizator AswVwsACamburu Luca AswVwsA Data 31 mai 2022 22:35:33
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
#include <cstdio>
#include <deque>
#include <cmath>
#include <iomanip>
#define ll long long
using namespace std;
deque <int> dq;
int v[500003];
int main()
{
    ifstream cin("secventa.in");
    ofstream cout("secventa.out");
    int n, k, i;
    cin >> n >> k;
    int ans = -1, st, dr;
    for (i = 1; i <= n; i++)
    {
        cin >> v[i];
        while (!dq.empty() and dq.front() == i - k)
            dq.pop_front();
        while (!dq.empty() and v[dq.back()] < v[i] and dq.size() >= k)
            dq.pop_back();
        dq.push_back(i);
        if (dq.size() >= k)
        {
            if (ans < v[dq.front()])
            {
                ans = v[dq.front()];
                st = dq.front();
                dr = dq.back();
            }
        }
    }
    cout << st << ' ' << dr << " " << ans;
}