Cod sursa(job #3308407)

Utilizator urweakurweak urweak Data 24 august 2025 15:16:42
Problema Secventa Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
#include <deque>
#include <utility>

std::ifstream in{"secventa.in"};
std::ofstream out{"secventa.out"};

class Solution
{
public:
    void solve()
    {
        in >> N >> K;
        for(int i = 1; i<=N; i++)
        {
            int x;
            in >> x;
            while(!dq.empty() && i - dq.front().second >= K) dq.pop_front();
            while(!dq.empty() && dq.back().first > x) dq.pop_back();
            dq.push_back({x, i});
            if(i >= K && dq.front().first > MAX)
            {
                MAX = dq.front().first;
                dr = i;
            }
        }
        out << dr - K + 1 << " " << dr << " " << MAX;
    }
private:
    std::deque<std::pair<int, int>> dq;
    int N, K, MAX=-30100, dr;
};

int main()
{
    Solution s{};
    s.solve();
}