Cod sursa(job #3157072)

Utilizator paaull69Ion Paul paaull69 Data 14 octombrie 2023 11:34:22
Problema Secventa Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
/*
ID: teparuf1
TASK: dualpal
LANG: C++
*/
#include <bits/stdc++.h>

#define MOD 1000000007
typedef long long int ll;
using namespace std;

ifstream fin("secventa.in");
ofstream fout("secventa.out");

int a[500001];


int main()
{
    int n,k;
    fin >> n >> k;
    for(int i=1;i<=n;i++)fin >> a[i];
    int res=0,l=0,r=0;
    deque<int> Q;
    for(int i=1;i<=k;i++)
    {
        while(!Q.empty() && a[Q.back()]>a[i])Q.pop_back();
        Q.push_back(i);
    }
    res = a[Q.front()];
    r=1,l=k;
    for(int i=k+1;i<=n;i++)
    {
        while(!Q.empty() && a[Q.back()]>a[i])Q.pop_back();
        Q.push_back(i);
        while (!Q.empty() && Q.front() < i-k+1)Q.pop_front();
        if(res < a[Q.front()])
        {
            res=a[Q.front()];
            l=i-k+1;
            r=i;
        }
    }
    fout << l << " " << r << " " << res;

}